api.go 3.0 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900599015990259903599045990559906599075990859909599105991159912599135991459915599165991759918599195992059921599225992359924599255992659927599285992959930599315993259933599345993559936599375993859939599405994159942599435994459945599465994759948599495995059951599525995359954599555995659957599585995959960599615996259963599645996559966599675996859969599705997159972599735997459975599765997759978599795998059981599825998359984599855998659987599885998959990599915999259993599945999559996599975999859999600006000160002600036000460005600066000760008600096001060011600126001360014600156001660017600186001960020600216002260023600246002560026600276002860029600306003160032600336003460035600366003760038600396004060041600426004360044600456004660047600486004960050600516005260053600546005560056600576005860059600606006160062600636006460065600666006760068600696007060071600726007360074600756007660077600786007960080600816008260083600846008560086600876008860089600906009160092600936009460095600966009760098600996010060101601026010360104601056010660107601086010960110601116011260113601146011560116601176011860119601206012160122601236012460125601266012760128601296013060131601326013360134601356013660137601386013960140601416014260143601446014560146601476014860149601506015160152601536015460155601566015760158601596016060161601626016360164601656016660167601686016960170601716017260173601746017560176601776017860179601806018160182601836018460185601866018760188601896019060191601926019360194601956019660197601986019960200602016020260203602046020560206602076020860209602106021160212602136021460215602166021760218602196022060221602226022360224602256022660227602286022960230602316023260233602346023560236602376023860239602406024160242602436024460245602466024760248602496025060251602526025360254602556025660257602586025960260602616026260263602646026560266602676026860269602706027160272602736027460275602766027760278602796028060281602826028360284602856028660287602886028960290602916029260293602946029560296602976029860299603006030160302603036030460305603066030760308603096031060311603126031360314603156031660317603186031960320603216032260323603246032560326603276032860329603306033160332603336033460335603366033760338603396034060341603426034360344603456034660347603486034960350603516035260353603546035560356603576035860359603606036160362603636036460365603666036760368603696037060371603726037360374603756037660377603786037960380603816038260383603846038560386603876038860389603906039160392603936039460395603966039760398603996040060401604026040360404604056040660407604086040960410604116041260413604146041560416604176041860419604206042160422604236042460425604266042760428604296043060431604326043360434604356043660437604386043960440604416044260443604446044560446604476044860449604506045160452604536045460455604566045760458604596046060461604626046360464604656046660467604686046960470604716047260473604746047560476604776047860479604806048160482604836048460485604866048760488604896049060491604926049360494604956049660497604986049960500605016050260503605046050560506605076050860509605106051160512605136051460515605166051760518605196052060521605226052360524605256052660527605286052960530605316053260533605346053560536605376053860539605406054160542605436054460545605466054760548605496055060551605526055360554605556055660557605586055960560605616056260563605646056560566605676056860569605706057160572605736057460575605766057760578605796058060581605826058360584605856058660587605886058960590605916059260593605946059560596605976059860599606006060160602606036060460605606066060760608606096061060611606126061360614606156061660617606186061960620606216062260623606246062560626606276062860629606306063160632606336063460635606366063760638606396064060641606426064360644606456064660647606486064960650606516065260653606546065560656606576065860659606606066160662606636066460665606666066760668606696067060671606726067360674606756067660677606786067960680606816068260683606846068560686606876068860689606906069160692606936069460695606966069760698606996070060701607026070360704607056070660707607086070960710607116071260713607146071560716607176071860719607206072160722607236072460725607266072760728607296073060731607326073360734607356073660737607386073960740607416074260743607446074560746607476074860749607506075160752607536075460755607566075760758607596076060761607626076360764607656076660767607686076960770607716077260773607746077560776607776077860779607806078160782607836078460785607866078760788607896079060791607926079360794607956079660797607986079960800608016080260803608046080560806608076080860809608106081160812608136081460815608166081760818608196082060821608226082360824608256082660827608286082960830608316083260833608346083560836608376083860839608406084160842608436084460845608466084760848608496085060851608526085360854608556085660857608586085960860608616086260863608646086560866608676086860869608706087160872608736087460875608766087760878608796088060881608826088360884608856088660887608886088960890608916089260893608946089560896608976089860899609006090160902609036090460905609066090760908609096091060911609126091360914609156091660917609186091960920609216092260923609246092560926609276092860929609306093160932609336093460935609366093760938609396094060941609426094360944609456094660947609486094960950609516095260953609546095560956609576095860959609606096160962609636096460965609666096760968609696097060971609726097360974609756097660977609786097960980609816098260983609846098560986609876098860989609906099160992609936099460995609966099760998609996100061001610026100361004610056100661007610086100961010610116101261013610146101561016610176101861019610206102161022610236102461025610266102761028610296103061031610326103361034610356103661037610386103961040610416104261043610446104561046610476104861049610506105161052610536105461055610566105761058610596106061061610626106361064610656106661067610686106961070610716107261073610746107561076610776107861079610806108161082610836108461085610866108761088610896109061091610926109361094610956109661097610986109961100611016110261103611046110561106611076110861109611106111161112611136111461115611166111761118611196112061121611226112361124611256112661127611286112961130611316113261133611346113561136611376113861139611406114161142611436114461145611466114761148611496115061151611526115361154611556115661157611586115961160611616116261163611646116561166611676116861169611706117161172611736117461175611766117761178611796118061181611826118361184611856118661187611886118961190611916119261193611946119561196611976119861199612006120161202612036120461205612066120761208612096121061211612126121361214612156121661217612186121961220612216122261223612246122561226612276122861229612306123161232612336123461235612366123761238612396124061241612426124361244612456124661247612486124961250612516125261253612546125561256612576125861259612606126161262612636126461265612666126761268612696127061271612726127361274612756127661277612786127961280612816128261283612846128561286612876128861289612906129161292612936129461295612966129761298612996130061301613026130361304613056130661307613086130961310613116131261313613146131561316613176131861319613206132161322613236132461325613266132761328613296133061331613326133361334613356133661337613386133961340613416134261343613446134561346613476134861349613506135161352613536135461355613566135761358613596136061361613626136361364613656136661367613686136961370613716137261373613746137561376613776137861379613806138161382613836138461385613866138761388613896139061391613926139361394613956139661397613986139961400614016140261403614046140561406614076140861409614106141161412614136141461415614166141761418614196142061421614226142361424614256142661427614286142961430614316143261433614346143561436614376143861439614406144161442614436144461445614466144761448614496145061451614526145361454614556145661457614586145961460614616146261463614646146561466614676146861469614706147161472614736147461475614766147761478614796148061481614826148361484614856148661487614886148961490614916149261493614946149561496614976149861499615006150161502615036150461505615066150761508615096151061511615126151361514615156151661517615186151961520615216152261523615246152561526615276152861529615306153161532615336153461535615366153761538615396154061541615426154361544615456154661547615486154961550615516155261553615546155561556615576155861559615606156161562615636156461565615666156761568615696157061571615726157361574615756157661577615786157961580615816158261583615846158561586615876158861589615906159161592615936159461595615966159761598615996160061601616026160361604616056160661607616086160961610616116161261613616146161561616616176161861619616206162161622616236162461625616266162761628616296163061631616326163361634616356163661637616386163961640616416164261643616446164561646616476164861649616506165161652616536165461655616566165761658616596166061661616626166361664616656166661667616686166961670616716167261673616746167561676616776167861679616806168161682616836168461685616866168761688616896169061691616926169361694616956169661697616986169961700617016170261703617046170561706617076170861709617106171161712617136171461715617166171761718617196172061721617226172361724617256172661727617286172961730617316173261733617346173561736617376173861739617406174161742617436174461745617466174761748617496175061751617526175361754617556175661757617586175961760617616176261763617646176561766617676176861769617706177161772617736177461775617766177761778617796178061781617826178361784617856178661787617886178961790617916179261793617946179561796617976179861799618006180161802618036180461805618066180761808618096181061811618126181361814618156181661817618186181961820618216182261823618246182561826618276182861829618306183161832618336183461835618366183761838618396184061841618426184361844618456184661847618486184961850618516185261853618546185561856618576185861859618606186161862618636186461865618666186761868618696187061871618726187361874618756187661877618786187961880618816188261883618846188561886618876188861889618906189161892618936189461895618966189761898618996190061901619026190361904619056190661907619086190961910619116191261913619146191561916619176191861919619206192161922619236192461925619266192761928619296193061931619326193361934619356193661937619386193961940619416194261943619446194561946619476194861949619506195161952619536195461955619566195761958619596196061961619626196361964619656196661967619686196961970619716197261973619746197561976619776197861979619806198161982619836198461985619866198761988619896199061991619926199361994619956199661997619986199962000620016200262003620046200562006620076200862009620106201162012620136201462015620166201762018620196202062021620226202362024620256202662027620286202962030620316203262033620346203562036620376203862039620406204162042620436204462045620466204762048620496205062051620526205362054620556205662057620586205962060620616206262063620646206562066620676206862069620706207162072620736207462075620766207762078620796208062081620826208362084620856208662087620886208962090620916209262093620946209562096620976209862099621006210162102621036210462105621066210762108621096211062111621126211362114621156211662117621186211962120621216212262123621246212562126621276212862129621306213162132621336213462135621366213762138621396214062141621426214362144621456214662147621486214962150621516215262153621546215562156621576215862159621606216162162621636216462165621666216762168621696217062171621726217362174621756217662177621786217962180621816218262183621846218562186621876218862189621906219162192621936219462195621966219762198621996220062201622026220362204622056220662207622086220962210622116221262213622146221562216622176221862219622206222162222622236222462225622266222762228622296223062231622326223362234622356223662237622386223962240622416224262243622446224562246622476224862249622506225162252622536225462255622566225762258622596226062261622626226362264622656226662267622686226962270622716227262273622746227562276622776227862279622806228162282622836228462285622866228762288622896229062291622926229362294622956229662297622986229962300623016230262303623046230562306623076230862309623106231162312623136231462315623166231762318623196232062321623226232362324623256232662327623286232962330623316233262333623346233562336623376233862339623406234162342623436234462345623466234762348623496235062351623526235362354623556235662357623586235962360623616236262363623646236562366623676236862369623706237162372623736237462375623766237762378623796238062381623826238362384623856238662387623886238962390623916239262393623946239562396623976239862399624006240162402624036240462405624066240762408624096241062411624126241362414624156241662417624186241962420624216242262423624246242562426624276242862429624306243162432624336243462435624366243762438624396244062441624426244362444624456244662447624486244962450624516245262453624546245562456624576245862459624606246162462624636246462465624666246762468624696247062471624726247362474624756247662477624786247962480624816248262483624846248562486624876248862489624906249162492624936249462495624966249762498624996250062501625026250362504625056250662507625086250962510625116251262513625146251562516625176251862519625206252162522625236252462525625266252762528625296253062531625326253362534625356253662537625386253962540625416254262543625446254562546625476254862549625506255162552625536255462555625566255762558625596256062561625626256362564625656256662567625686256962570625716257262573625746257562576625776257862579625806258162582625836258462585625866258762588625896259062591625926259362594625956259662597625986259962600626016260262603626046260562606626076260862609626106261162612626136261462615626166261762618626196262062621626226262362624626256262662627626286262962630626316263262633626346263562636626376263862639626406264162642626436264462645626466264762648626496265062651626526265362654626556265662657626586265962660626616266262663626646266562666626676266862669626706267162672626736267462675626766267762678626796268062681626826268362684626856268662687626886268962690626916269262693626946269562696626976269862699627006270162702627036270462705627066270762708627096271062711627126271362714627156271662717627186271962720627216272262723627246272562726627276272862729627306273162732627336273462735627366273762738627396274062741627426274362744627456274662747627486274962750627516275262753627546275562756627576275862759627606276162762627636276462765627666276762768627696277062771627726277362774627756277662777627786277962780627816278262783627846278562786627876278862789627906279162792627936279462795627966279762798627996280062801628026280362804628056280662807628086280962810628116281262813628146281562816628176281862819628206282162822628236282462825628266282762828628296283062831628326283362834628356283662837628386283962840628416284262843628446284562846628476284862849628506285162852628536285462855628566285762858628596286062861628626286362864628656286662867628686286962870628716287262873628746287562876628776287862879628806288162882628836288462885628866288762888628896289062891628926289362894628956289662897628986289962900629016290262903629046290562906629076290862909629106291162912629136291462915629166291762918629196292062921629226292362924629256292662927629286292962930629316293262933629346293562936629376293862939629406294162942629436294462945629466294762948629496295062951629526295362954629556295662957629586295962960629616296262963629646296562966629676296862969629706297162972629736297462975629766297762978629796298062981629826298362984629856298662987629886298962990629916299262993629946299562996629976299862999630006300163002630036300463005630066300763008630096301063011630126301363014630156301663017630186301963020630216302263023630246302563026630276302863029630306303163032630336303463035630366303763038630396304063041630426304363044630456304663047630486304963050630516305263053630546305563056630576305863059630606306163062630636306463065630666306763068630696307063071630726307363074630756307663077630786307963080630816308263083630846308563086630876308863089630906309163092630936309463095630966309763098630996310063101631026310363104631056310663107631086310963110631116311263113631146311563116631176311863119631206312163122631236312463125631266312763128631296313063131631326313363134631356313663137631386313963140631416314263143631446314563146631476314863149631506315163152631536315463155631566315763158631596316063161631626316363164631656316663167631686316963170631716317263173631746317563176631776317863179631806318163182631836318463185631866318763188631896319063191631926319363194631956319663197631986319963200632016320263203632046320563206632076320863209632106321163212632136321463215632166321763218632196322063221632226322363224632256322663227632286322963230632316323263233632346323563236632376323863239632406324163242632436324463245632466324763248632496325063251632526325363254632556325663257632586325963260632616326263263632646326563266632676326863269632706327163272632736327463275632766327763278632796328063281632826328363284632856328663287632886328963290632916329263293632946329563296632976329863299633006330163302633036330463305633066330763308633096331063311633126331363314633156331663317633186331963320633216332263323633246332563326633276332863329633306333163332633336333463335633366333763338633396334063341633426334363344633456334663347633486334963350633516335263353633546335563356633576335863359633606336163362633636336463365633666336763368633696337063371633726337363374633756337663377633786337963380633816338263383633846338563386633876338863389633906339163392633936339463395633966339763398633996340063401634026340363404634056340663407634086340963410634116341263413634146341563416634176341863419634206342163422634236342463425634266342763428634296343063431634326343363434634356343663437634386343963440634416344263443634446344563446634476344863449634506345163452634536345463455634566345763458634596346063461634626346363464634656346663467634686346963470634716347263473634746347563476634776347863479634806348163482634836348463485634866348763488634896349063491634926349363494634956349663497634986349963500635016350263503635046350563506635076350863509635106351163512635136351463515635166351763518635196352063521635226352363524635256352663527635286352963530635316353263533635346353563536635376353863539635406354163542635436354463545635466354763548635496355063551635526355363554635556355663557635586355963560635616356263563635646356563566635676356863569635706357163572635736357463575635766357763578635796358063581635826358363584635856358663587635886358963590635916359263593635946359563596635976359863599636006360163602636036360463605636066360763608636096361063611636126361363614636156361663617636186361963620636216362263623636246362563626636276362863629636306363163632636336363463635636366363763638636396364063641636426364363644636456364663647636486364963650636516365263653636546365563656636576365863659636606366163662636636366463665636666366763668636696367063671636726367363674636756367663677636786367963680636816368263683636846368563686636876368863689636906369163692636936369463695636966369763698636996370063701637026370363704637056370663707637086370963710637116371263713637146371563716637176371863719637206372163722637236372463725637266372763728637296373063731637326373363734637356373663737637386373963740637416374263743637446374563746637476374863749637506375163752637536375463755637566375763758637596376063761637626376363764637656376663767637686376963770637716377263773637746377563776637776377863779637806378163782637836378463785637866378763788637896379063791637926379363794637956379663797637986379963800638016380263803638046380563806638076380863809638106381163812638136381463815638166381763818638196382063821638226382363824638256382663827638286382963830638316383263833638346383563836638376383863839638406384163842638436384463845638466384763848638496385063851638526385363854638556385663857638586385963860638616386263863638646386563866638676386863869638706387163872638736387463875638766387763878638796388063881638826388363884638856388663887638886388963890638916389263893638946389563896638976389863899639006390163902639036390463905639066390763908639096391063911639126391363914639156391663917639186391963920639216392263923639246392563926639276392863929639306393163932639336393463935639366393763938639396394063941639426394363944639456394663947639486394963950639516395263953639546395563956639576395863959639606396163962639636396463965639666396763968639696397063971639726397363974639756397663977639786397963980639816398263983639846398563986639876398863989639906399163992639936399463995639966399763998639996400064001640026400364004640056400664007640086400964010640116401264013640146401564016640176401864019640206402164022640236402464025640266402764028640296403064031640326403364034640356403664037640386403964040640416404264043640446404564046640476404864049640506405164052640536405464055640566405764058640596406064061640626406364064640656406664067640686406964070640716407264073640746407564076640776407864079640806408164082640836408464085640866408764088640896409064091640926409364094640956409664097640986409964100641016410264103641046410564106641076410864109641106411164112641136411464115641166411764118641196412064121641226412364124641256412664127641286412964130641316413264133641346413564136641376413864139641406414164142641436414464145641466414764148641496415064151641526415364154641556415664157641586415964160641616416264163641646416564166641676416864169641706417164172641736417464175641766417764178641796418064181641826418364184641856418664187641886418964190641916419264193641946419564196641976419864199642006420164202642036420464205642066420764208642096421064211642126421364214642156421664217642186421964220642216422264223642246422564226642276422864229642306423164232642336423464235642366423764238642396424064241642426424364244642456424664247642486424964250642516425264253642546425564256642576425864259642606426164262642636426464265642666426764268642696427064271642726427364274642756427664277642786427964280642816428264283642846428564286642876428864289642906429164292642936429464295642966429764298642996430064301643026430364304643056430664307643086430964310643116431264313643146431564316643176431864319643206432164322643236432464325643266432764328643296433064331643326433364334643356433664337643386433964340643416434264343643446434564346643476434864349643506435164352643536435464355643566435764358643596436064361643626436364364643656436664367643686436964370643716437264373643746437564376643776437864379643806438164382643836438464385643866438764388643896439064391643926439364394643956439664397643986439964400644016440264403644046440564406644076440864409644106441164412644136441464415644166441764418644196442064421644226442364424644256442664427644286442964430644316443264433644346443564436644376443864439644406444164442644436444464445644466444764448644496445064451644526445364454644556445664457644586445964460644616446264463644646446564466644676446864469644706447164472644736447464475644766447764478644796448064481644826448364484644856448664487644886448964490644916449264493644946449564496644976449864499645006450164502645036450464505645066450764508645096451064511645126451364514645156451664517645186451964520645216452264523645246452564526645276452864529645306453164532645336453464535645366453764538645396454064541645426454364544645456454664547645486454964550645516455264553645546455564556645576455864559645606456164562645636456464565645666456764568645696457064571645726457364574645756457664577645786457964580645816458264583645846458564586645876458864589645906459164592645936459464595645966459764598645996460064601646026460364604646056460664607646086460964610646116461264613646146461564616646176461864619646206462164622646236462464625646266462764628646296463064631646326463364634646356463664637646386463964640646416464264643646446464564646646476464864649646506465164652646536465464655646566465764658646596466064661646626466364664646656466664667646686466964670646716467264673646746467564676646776467864679646806468164682646836468464685646866468764688646896469064691646926469364694646956469664697646986469964700647016470264703647046470564706647076470864709647106471164712647136471464715647166471764718647196472064721647226472364724647256472664727647286472964730647316473264733647346473564736647376473864739647406474164742647436474464745647466474764748647496475064751647526475364754647556475664757647586475964760647616476264763647646476564766647676476864769647706477164772647736477464775647766477764778647796478064781647826478364784647856478664787647886478964790647916479264793647946479564796647976479864799648006480164802648036480464805648066480764808648096481064811648126481364814648156481664817648186481964820648216482264823648246482564826648276482864829648306483164832648336483464835648366483764838648396484064841648426484364844648456484664847648486484964850648516485264853648546485564856648576485864859648606486164862648636486464865648666486764868648696487064871648726487364874648756487664877648786487964880648816488264883648846488564886648876488864889648906489164892648936489464895648966489764898648996490064901649026490364904649056490664907649086490964910649116491264913649146491564916649176491864919649206492164922649236492464925649266492764928649296493064931649326493364934649356493664937649386493964940649416494264943649446494564946649476494864949649506495164952649536495464955649566495764958649596496064961649626496364964649656496664967649686496964970649716497264973649746497564976649776497864979649806498164982649836498464985649866498764988649896499064991649926499364994649956499664997649986499965000650016500265003650046500565006650076500865009650106501165012650136501465015650166501765018650196502065021650226502365024650256502665027650286502965030650316503265033650346503565036650376503865039650406504165042650436504465045650466504765048650496505065051650526505365054650556505665057650586505965060650616506265063650646506565066650676506865069650706507165072650736507465075650766507765078650796508065081650826508365084650856508665087650886508965090650916509265093650946509565096650976509865099651006510165102651036510465105651066510765108651096511065111651126511365114651156511665117651186511965120651216512265123651246512565126651276512865129651306513165132651336513465135651366513765138651396514065141651426514365144651456514665147651486514965150651516515265153651546515565156651576515865159651606516165162651636516465165651666516765168651696517065171651726517365174651756517665177651786517965180651816518265183651846518565186651876518865189651906519165192651936519465195651966519765198651996520065201652026520365204652056520665207652086520965210652116521265213652146521565216652176521865219652206522165222652236522465225652266522765228652296523065231652326523365234652356523665237652386523965240652416524265243652446524565246652476524865249652506525165252652536525465255652566525765258652596526065261652626526365264652656526665267652686526965270652716527265273652746527565276652776527865279652806528165282652836528465285652866528765288652896529065291652926529365294652956529665297652986529965300653016530265303653046530565306653076530865309653106531165312653136531465315653166531765318653196532065321653226532365324653256532665327653286532965330653316533265333653346533565336653376533865339653406534165342653436534465345653466534765348653496535065351653526535365354653556535665357653586535965360653616536265363653646536565366653676536865369653706537165372653736537465375653766537765378653796538065381653826538365384653856538665387653886538965390653916539265393653946539565396653976539865399654006540165402654036540465405654066540765408654096541065411654126541365414654156541665417654186541965420654216542265423654246542565426654276542865429654306543165432654336543465435654366543765438654396544065441654426544365444654456544665447654486544965450654516545265453654546545565456654576545865459654606546165462654636546465465654666546765468654696547065471654726547365474654756547665477654786547965480654816548265483654846548565486654876548865489654906549165492654936549465495654966549765498654996550065501655026550365504655056550665507655086550965510655116551265513655146551565516655176551865519655206552165522655236552465525655266552765528655296553065531655326553365534655356553665537655386553965540655416554265543655446554565546655476554865549655506555165552655536555465555655566555765558655596556065561655626556365564655656556665567655686556965570655716557265573655746557565576655776557865579655806558165582655836558465585655866558765588655896559065591655926559365594655956559665597655986559965600656016560265603656046560565606656076560865609656106561165612656136561465615656166561765618656196562065621656226562365624656256562665627656286562965630656316563265633656346563565636656376563865639656406564165642656436564465645656466564765648656496565065651656526565365654656556565665657656586565965660656616566265663656646566565666656676566865669656706567165672656736567465675656766567765678656796568065681656826568365684656856568665687656886568965690656916569265693656946569565696656976569865699657006570165702657036570465705657066570765708657096571065711657126571365714657156571665717657186571965720657216572265723657246572565726657276572865729657306573165732657336573465735657366573765738657396574065741657426574365744657456574665747657486574965750657516575265753657546575565756657576575865759657606576165762657636576465765657666576765768657696577065771657726577365774657756577665777657786577965780657816578265783657846578565786657876578865789657906579165792657936579465795657966579765798657996580065801658026580365804658056580665807658086580965810658116581265813658146581565816658176581865819658206582165822658236582465825658266582765828658296583065831658326583365834658356583665837658386583965840658416584265843658446584565846658476584865849658506585165852658536585465855658566585765858658596586065861658626586365864658656586665867658686586965870658716587265873658746587565876658776587865879658806588165882658836588465885658866588765888658896589065891658926589365894658956589665897658986589965900659016590265903659046590565906659076590865909659106591165912659136591465915659166591765918659196592065921659226592365924659256592665927659286592965930659316593265933659346593565936659376593865939659406594165942659436594465945659466594765948659496595065951659526595365954659556595665957659586595965960659616596265963659646596565966659676596865969659706597165972659736597465975659766597765978659796598065981659826598365984659856598665987659886598965990659916599265993659946599565996659976599865999660006600166002660036600466005660066600766008660096601066011660126601366014660156601666017660186601966020660216602266023660246602566026660276602866029660306603166032660336603466035660366603766038660396604066041660426604366044660456604666047660486604966050660516605266053660546605566056660576605866059660606606166062660636606466065660666606766068660696607066071660726607366074660756607666077660786607966080660816608266083660846608566086660876608866089660906609166092660936609466095660966609766098660996610066101661026610366104661056610666107661086610966110661116611266113661146611566116661176611866119661206612166122661236612466125661266612766128661296613066131661326613366134661356613666137661386613966140661416614266143661446614566146661476614866149661506615166152661536615466155661566615766158661596616066161661626616366164661656616666167661686616966170661716617266173661746617566176661776617866179661806618166182661836618466185661866618766188661896619066191661926619366194661956619666197661986619966200662016620266203662046620566206662076620866209662106621166212662136621466215662166621766218662196622066221662226622366224662256622666227662286622966230662316623266233662346623566236662376623866239662406624166242662436624466245662466624766248662496625066251662526625366254662556625666257662586625966260662616626266263662646626566266662676626866269662706627166272662736627466275662766627766278662796628066281662826628366284662856628666287662886628966290662916629266293662946629566296662976629866299663006630166302663036630466305663066630766308663096631066311663126631366314663156631666317663186631966320663216632266323663246632566326663276632866329663306633166332663336633466335663366633766338663396634066341663426634366344663456634666347663486634966350663516635266353663546635566356663576635866359663606636166362663636636466365663666636766368663696637066371663726637366374663756637666377663786637966380663816638266383663846638566386663876638866389663906639166392663936639466395663966639766398663996640066401664026640366404664056640666407664086640966410664116641266413664146641566416664176641866419664206642166422664236642466425664266642766428664296643066431664326643366434664356643666437664386643966440664416644266443664446644566446664476644866449664506645166452664536645466455664566645766458664596646066461664626646366464664656646666467664686646966470664716647266473664746647566476664776647866479664806648166482664836648466485664866648766488664896649066491664926649366494664956649666497664986649966500665016650266503665046650566506665076650866509665106651166512665136651466515665166651766518665196652066521665226652366524665256652666527665286652966530665316653266533665346653566536665376653866539665406654166542665436654466545665466654766548665496655066551665526655366554665556655666557665586655966560665616656266563665646656566566665676656866569665706657166572665736657466575665766657766578665796658066581665826658366584665856658666587665886658966590665916659266593665946659566596665976659866599666006660166602666036660466605666066660766608666096661066611666126661366614666156661666617666186661966620666216662266623666246662566626666276662866629666306663166632666336663466635666366663766638666396664066641666426664366644666456664666647666486664966650666516665266653666546665566656666576665866659666606666166662666636666466665666666666766668666696667066671666726667366674666756667666677666786667966680666816668266683666846668566686666876668866689666906669166692666936669466695666966669766698666996670066701667026670366704667056670666707667086670966710667116671266713667146671566716667176671866719667206672166722667236672466725667266672766728667296673066731667326673366734667356673666737667386673966740667416674266743667446674566746667476674866749667506675166752667536675466755667566675766758667596676066761667626676366764667656676666767667686676966770667716677266773667746677566776667776677866779667806678166782667836678466785667866678766788667896679066791667926679366794667956679666797667986679966800668016680266803668046680566806668076680866809668106681166812668136681466815668166681766818668196682066821668226682366824668256682666827668286682966830668316683266833668346683566836668376683866839668406684166842668436684466845668466684766848668496685066851668526685366854668556685666857668586685966860668616686266863668646686566866668676686866869668706687166872668736687466875668766687766878668796688066881668826688366884668856688666887668886688966890668916689266893668946689566896668976689866899669006690166902669036690466905669066690766908669096691066911669126691366914669156691666917669186691966920669216692266923669246692566926669276692866929669306693166932669336693466935669366693766938669396694066941669426694366944669456694666947669486694966950669516695266953669546695566956669576695866959669606696166962669636696466965669666696766968669696697066971669726697366974669756697666977669786697966980669816698266983669846698566986669876698866989669906699166992669936699466995669966699766998669996700067001670026700367004670056700667007670086700967010670116701267013670146701567016670176701867019670206702167022670236702467025670266702767028670296703067031670326703367034670356703667037670386703967040670416704267043670446704567046670476704867049670506705167052670536705467055670566705767058670596706067061670626706367064670656706667067670686706967070670716707267073670746707567076670776707867079670806708167082670836708467085670866708767088670896709067091670926709367094670956709667097670986709967100671016710267103671046710567106671076710867109671106711167112671136711467115671166711767118671196712067121671226712367124671256712667127671286712967130671316713267133671346713567136671376713867139671406714167142671436714467145671466714767148671496715067151671526715367154671556715667157671586715967160671616716267163671646716567166671676716867169671706717167172671736717467175671766717767178671796718067181671826718367184671856718667187671886718967190671916719267193671946719567196671976719867199672006720167202672036720467205672066720767208672096721067211672126721367214672156721667217672186721967220672216722267223672246722567226672276722867229672306723167232672336723467235672366723767238672396724067241672426724367244672456724667247672486724967250672516725267253672546725567256672576725867259672606726167262672636726467265672666726767268672696727067271672726727367274672756727667277672786727967280672816728267283672846728567286672876728867289672906729167292672936729467295672966729767298672996730067301673026730367304673056730667307673086730967310673116731267313673146731567316673176731867319673206732167322673236732467325673266732767328673296733067331673326733367334673356733667337673386733967340673416734267343673446734567346673476734867349673506735167352673536735467355673566735767358673596736067361673626736367364673656736667367673686736967370673716737267373673746737567376673776737867379673806738167382673836738467385673866738767388673896739067391673926739367394673956739667397673986739967400674016740267403674046740567406674076740867409674106741167412674136741467415674166741767418674196742067421674226742367424674256742667427674286742967430674316743267433674346743567436674376743867439674406744167442674436744467445674466744767448674496745067451674526745367454674556745667457674586745967460674616746267463674646746567466674676746867469674706747167472674736747467475674766747767478674796748067481674826748367484674856748667487674886748967490674916749267493674946749567496674976749867499675006750167502675036750467505675066750767508675096751067511675126751367514675156751667517675186751967520675216752267523675246752567526675276752867529675306753167532675336753467535675366753767538675396754067541675426754367544675456754667547675486754967550675516755267553675546755567556675576755867559675606756167562675636756467565675666756767568675696757067571675726757367574675756757667577675786757967580675816758267583675846758567586675876758867589675906759167592675936759467595675966759767598675996760067601676026760367604676056760667607676086760967610676116761267613676146761567616676176761867619676206762167622676236762467625676266762767628676296763067631676326763367634676356763667637676386763967640676416764267643676446764567646676476764867649676506765167652676536765467655676566765767658676596766067661676626766367664676656766667667676686766967670676716767267673676746767567676676776767867679676806768167682676836768467685676866768767688676896769067691676926769367694676956769667697676986769967700677016770267703677046770567706677076770867709677106771167712677136771467715677166771767718677196772067721677226772367724677256772667727677286772967730677316773267733677346773567736677376773867739677406774167742677436774467745677466774767748677496775067751677526775367754677556775667757677586775967760677616776267763677646776567766677676776867769677706777167772677736777467775677766777767778677796778067781677826778367784677856778667787677886778967790677916779267793677946779567796677976779867799678006780167802678036780467805678066780767808678096781067811678126781367814678156781667817678186781967820678216782267823678246782567826678276782867829678306783167832678336783467835678366783767838678396784067841678426784367844678456784667847678486784967850678516785267853678546785567856678576785867859678606786167862678636786467865678666786767868678696787067871678726787367874678756787667877678786787967880678816788267883678846788567886678876788867889678906789167892678936789467895678966789767898678996790067901679026790367904679056790667907679086790967910679116791267913679146791567916679176791867919679206792167922679236792467925679266792767928679296793067931679326793367934679356793667937679386793967940679416794267943679446794567946679476794867949679506795167952679536795467955679566795767958679596796067961679626796367964679656796667967679686796967970679716797267973679746797567976679776797867979679806798167982679836798467985679866798767988679896799067991679926799367994679956799667997679986799968000680016800268003680046800568006680076800868009680106801168012680136801468015680166801768018680196802068021680226802368024680256802668027680286802968030680316803268033680346803568036680376803868039680406804168042680436804468045680466804768048680496805068051680526805368054680556805668057680586805968060680616806268063680646806568066680676806868069680706807168072680736807468075680766807768078680796808068081680826808368084680856808668087680886808968090680916809268093680946809568096680976809868099681006810168102681036810468105681066810768108681096811068111681126811368114681156811668117681186811968120681216812268123681246812568126681276812868129681306813168132681336813468135681366813768138681396814068141681426814368144681456814668147681486814968150681516815268153681546815568156681576815868159681606816168162681636816468165681666816768168681696817068171681726817368174681756817668177681786817968180681816818268183681846818568186681876818868189681906819168192681936819468195681966819768198681996820068201682026820368204682056820668207682086820968210682116821268213682146821568216682176821868219682206822168222682236822468225682266822768228682296823068231682326823368234682356823668237682386823968240682416824268243682446824568246682476824868249682506825168252682536825468255682566825768258682596826068261682626826368264682656826668267682686826968270682716827268273682746827568276682776827868279682806828168282682836828468285682866828768288682896829068291682926829368294682956829668297682986829968300683016830268303683046830568306683076830868309683106831168312683136831468315683166831768318683196832068321683226832368324683256832668327683286832968330683316833268333683346833568336683376833868339683406834168342683436834468345683466834768348683496835068351683526835368354683556835668357683586835968360683616836268363683646836568366683676836868369683706837168372683736837468375683766837768378683796838068381683826838368384683856838668387683886838968390683916839268393683946839568396683976839868399684006840168402684036840468405684066840768408684096841068411684126841368414684156841668417684186841968420684216842268423684246842568426684276842868429684306843168432684336843468435684366843768438684396844068441684426844368444684456844668447684486844968450684516845268453684546845568456684576845868459684606846168462684636846468465684666846768468684696847068471684726847368474684756847668477684786847968480684816848268483684846848568486684876848868489684906849168492684936849468495684966849768498684996850068501685026850368504685056850668507685086850968510685116851268513685146851568516685176851868519685206852168522685236852468525685266852768528685296853068531685326853368534685356853668537685386853968540685416854268543685446854568546685476854868549685506855168552685536855468555685566855768558685596856068561685626856368564685656856668567685686856968570685716857268573685746857568576685776857868579685806858168582685836858468585685866858768588685896859068591685926859368594685956859668597685986859968600686016860268603686046860568606686076860868609686106861168612686136861468615686166861768618686196862068621686226862368624686256862668627686286862968630686316863268633686346863568636686376863868639686406864168642686436864468645686466864768648686496865068651686526865368654686556865668657686586865968660686616866268663686646866568666686676866868669686706867168672686736867468675686766867768678686796868068681686826868368684686856868668687686886868968690686916869268693686946869568696686976869868699687006870168702687036870468705687066870768708687096871068711687126871368714687156871668717687186871968720687216872268723687246872568726687276872868729687306873168732687336873468735687366873768738687396874068741687426874368744687456874668747687486874968750687516875268753687546875568756687576875868759687606876168762687636876468765687666876768768687696877068771687726877368774687756877668777687786877968780687816878268783687846878568786687876878868789687906879168792687936879468795687966879768798687996880068801688026880368804688056880668807688086880968810688116881268813688146881568816688176881868819688206882168822688236882468825688266882768828688296883068831688326883368834688356883668837688386883968840688416884268843688446884568846688476884868849688506885168852688536885468855688566885768858688596886068861688626886368864688656886668867688686886968870688716887268873688746887568876688776887868879688806888168882688836888468885688866888768888688896889068891688926889368894688956889668897688986889968900689016890268903689046890568906689076890868909689106891168912689136891468915689166891768918689196892068921689226892368924689256892668927689286892968930689316893268933689346893568936689376893868939689406894168942689436894468945689466894768948689496895068951689526895368954689556895668957689586895968960689616896268963689646896568966689676896868969689706897168972689736897468975689766897768978689796898068981689826898368984689856898668987689886898968990689916899268993689946899568996689976899868999690006900169002690036900469005690066900769008690096901069011690126901369014690156901669017690186901969020690216902269023690246902569026690276902869029690306903169032690336903469035690366903769038690396904069041690426904369044690456904669047690486904969050690516905269053690546905569056690576905869059690606906169062690636906469065690666906769068690696907069071690726907369074690756907669077690786907969080690816908269083690846908569086690876908869089690906909169092690936909469095690966909769098690996910069101691026910369104691056910669107691086910969110691116911269113691146911569116691176911869119691206912169122691236912469125691266912769128691296913069131691326913369134691356913669137691386913969140691416914269143691446914569146691476914869149691506915169152691536915469155691566915769158691596916069161691626916369164691656916669167691686916969170691716917269173691746917569176691776917869179691806918169182691836918469185691866918769188691896919069191691926919369194691956919669197691986919969200692016920269203692046920569206692076920869209692106921169212692136921469215692166921769218692196922069221692226922369224692256922669227692286922969230692316923269233692346923569236692376923869239692406924169242692436924469245692466924769248692496925069251692526925369254692556925669257692586925969260692616926269263692646926569266692676926869269692706927169272692736927469275692766927769278692796928069281692826928369284692856928669287692886928969290692916929269293692946929569296692976929869299693006930169302693036930469305693066930769308693096931069311693126931369314693156931669317693186931969320693216932269323693246932569326693276932869329693306933169332693336933469335693366933769338693396934069341693426934369344693456934669347693486934969350693516935269353693546935569356693576935869359693606936169362693636936469365693666936769368693696937069371693726937369374693756937669377693786937969380693816938269383693846938569386693876938869389693906939169392693936939469395693966939769398693996940069401694026940369404694056940669407694086940969410694116941269413694146941569416694176941869419694206942169422694236942469425694266942769428694296943069431694326943369434694356943669437694386943969440694416944269443694446944569446694476944869449694506945169452694536945469455694566945769458694596946069461694626946369464694656946669467694686946969470694716947269473694746947569476694776947869479694806948169482694836948469485694866948769488694896949069491694926949369494694956949669497694986949969500695016950269503695046950569506695076950869509695106951169512695136951469515695166951769518695196952069521695226952369524695256952669527695286952969530695316953269533695346953569536695376953869539695406954169542695436954469545695466954769548695496955069551695526955369554695556955669557695586955969560695616956269563695646956569566695676956869569695706957169572695736957469575695766957769578695796958069581695826958369584695856958669587695886958969590695916959269593695946959569596695976959869599696006960169602696036960469605696066960769608696096961069611696126961369614696156961669617696186961969620696216962269623696246962569626696276962869629696306963169632696336963469635696366963769638696396964069641696426964369644696456964669647696486964969650696516965269653696546965569656696576965869659696606966169662696636966469665696666966769668696696967069671696726967369674696756967669677696786967969680696816968269683696846968569686696876968869689696906969169692696936969469695696966969769698696996970069701697026970369704697056970669707697086970969710697116971269713697146971569716697176971869719697206972169722697236972469725697266972769728697296973069731697326973369734697356973669737697386973969740697416974269743697446974569746697476974869749697506975169752697536975469755697566975769758697596976069761697626976369764697656976669767697686976969770697716977269773697746977569776697776977869779697806978169782697836978469785697866978769788697896979069791697926979369794697956979669797697986979969800698016980269803698046980569806698076980869809698106981169812698136981469815698166981769818698196982069821698226982369824698256982669827698286982969830698316983269833698346983569836698376983869839698406984169842698436984469845698466984769848698496985069851698526985369854698556985669857698586985969860698616986269863698646986569866698676986869869698706987169872698736987469875698766987769878698796988069881698826988369884698856988669887698886988969890698916989269893698946989569896698976989869899699006990169902699036990469905699066990769908699096991069911699126991369914699156991669917699186991969920699216992269923699246992569926699276992869929699306993169932699336993469935699366993769938699396994069941699426994369944699456994669947699486994969950699516995269953699546995569956699576995869959699606996169962699636996469965699666996769968699696997069971699726997369974699756997669977699786997969980699816998269983699846998569986699876998869989699906999169992699936999469995699966999769998699997000070001700027000370004700057000670007700087000970010700117001270013700147001570016700177001870019700207002170022700237002470025700267002770028700297003070031700327003370034700357003670037700387003970040700417004270043700447004570046700477004870049700507005170052700537005470055700567005770058700597006070061700627006370064700657006670067700687006970070700717007270073700747007570076700777007870079700807008170082700837008470085700867008770088700897009070091700927009370094700957009670097700987009970100701017010270103701047010570106701077010870109701107011170112701137011470115701167011770118701197012070121701227012370124701257012670127701287012970130701317013270133701347013570136701377013870139701407014170142701437014470145701467014770148701497015070151701527015370154701557015670157701587015970160701617016270163701647016570166701677016870169701707017170172701737017470175701767017770178701797018070181701827018370184701857018670187701887018970190701917019270193701947019570196701977019870199702007020170202702037020470205702067020770208702097021070211702127021370214702157021670217702187021970220702217022270223702247022570226702277022870229702307023170232702337023470235702367023770238702397024070241702427024370244702457024670247702487024970250702517025270253702547025570256702577025870259702607026170262702637026470265702667026770268702697027070271702727027370274702757027670277702787027970280702817028270283702847028570286702877028870289702907029170292702937029470295702967029770298702997030070301703027030370304703057030670307703087030970310703117031270313703147031570316703177031870319703207032170322703237032470325703267032770328703297033070331703327033370334703357033670337703387033970340703417034270343703447034570346703477034870349703507035170352703537035470355703567035770358703597036070361703627036370364703657036670367703687036970370703717037270373703747037570376703777037870379703807038170382703837038470385703867038770388703897039070391703927039370394703957039670397703987039970400704017040270403704047040570406704077040870409704107041170412704137041470415704167041770418704197042070421704227042370424704257042670427704287042970430704317043270433704347043570436704377043870439704407044170442704437044470445704467044770448704497045070451704527045370454704557045670457704587045970460704617046270463704647046570466704677046870469704707047170472704737047470475704767047770478704797048070481704827048370484704857048670487704887048970490704917049270493704947049570496704977049870499705007050170502705037050470505705067050770508705097051070511705127051370514705157051670517705187051970520705217052270523705247052570526705277052870529705307053170532705337053470535705367053770538705397054070541705427054370544705457054670547705487054970550705517055270553705547055570556705577055870559705607056170562705637056470565705667056770568705697057070571705727057370574705757057670577705787057970580705817058270583705847058570586705877058870589705907059170592705937059470595705967059770598705997060070601706027060370604706057060670607706087060970610706117061270613706147061570616706177061870619706207062170622706237062470625706267062770628706297063070631706327063370634706357063670637706387063970640706417064270643706447064570646706477064870649706507065170652706537065470655706567065770658706597066070661706627066370664706657066670667706687066970670706717067270673706747067570676706777067870679706807068170682706837068470685706867068770688706897069070691706927069370694706957069670697706987069970700707017070270703707047070570706707077070870709707107071170712707137071470715707167071770718707197072070721707227072370724707257072670727707287072970730707317073270733707347073570736707377073870739707407074170742707437074470745707467074770748707497075070751707527075370754707557075670757707587075970760707617076270763707647076570766707677076870769707707077170772707737077470775707767077770778707797078070781707827078370784707857078670787707887078970790707917079270793707947079570796707977079870799708007080170802708037080470805708067080770808708097081070811708127081370814708157081670817708187081970820708217082270823708247082570826708277082870829708307083170832708337083470835708367083770838708397084070841708427084370844708457084670847708487084970850708517085270853708547085570856708577085870859708607086170862708637086470865708667086770868708697087070871708727087370874708757087670877708787087970880708817088270883708847088570886708877088870889708907089170892708937089470895708967089770898708997090070901709027090370904709057090670907709087090970910709117091270913709147091570916709177091870919709207092170922709237092470925709267092770928709297093070931709327093370934709357093670937709387093970940709417094270943709447094570946709477094870949709507095170952709537095470955709567095770958709597096070961709627096370964709657096670967709687096970970709717097270973709747097570976709777097870979709807098170982709837098470985709867098770988709897099070991709927099370994709957099670997709987099971000710017100271003710047100571006710077100871009710107101171012710137101471015710167101771018710197102071021710227102371024710257102671027710287102971030710317103271033710347103571036710377103871039710407104171042710437104471045710467104771048710497105071051710527105371054710557105671057710587105971060710617106271063710647106571066710677106871069710707107171072710737107471075710767107771078710797108071081710827108371084710857108671087710887108971090710917109271093710947109571096710977109871099711007110171102711037110471105711067110771108711097111071111711127111371114711157111671117711187111971120711217112271123711247112571126711277112871129711307113171132711337113471135711367113771138711397114071141711427114371144711457114671147711487114971150711517115271153711547115571156711577115871159711607116171162711637116471165711667116771168711697117071171711727117371174711757117671177711787117971180711817118271183711847118571186711877118871189711907119171192711937119471195711967119771198711997120071201712027120371204712057120671207712087120971210712117121271213712147121571216712177121871219712207122171222712237122471225712267122771228712297123071231712327123371234712357123671237712387123971240712417124271243712447124571246712477124871249712507125171252712537125471255712567125771258712597126071261712627126371264712657126671267712687126971270712717127271273712747127571276712777127871279712807128171282712837128471285712867128771288712897129071291712927129371294712957129671297712987129971300713017130271303713047130571306713077130871309713107131171312713137131471315713167131771318713197132071321713227132371324713257132671327713287132971330713317133271333713347133571336713377133871339713407134171342713437134471345713467134771348713497135071351713527135371354713557135671357713587135971360713617136271363713647136571366713677136871369713707137171372713737137471375713767137771378713797138071381713827138371384713857138671387713887138971390713917139271393713947139571396713977139871399714007140171402714037140471405714067140771408714097141071411714127141371414714157141671417714187141971420714217142271423714247142571426714277142871429714307143171432714337143471435714367143771438714397144071441714427144371444714457144671447714487144971450714517145271453714547145571456714577145871459714607146171462714637146471465714667146771468714697147071471714727147371474714757147671477714787147971480714817148271483714847148571486714877148871489714907149171492714937149471495714967149771498714997150071501715027150371504715057150671507715087150971510715117151271513715147151571516715177151871519715207152171522715237152471525715267152771528715297153071531715327153371534715357153671537715387153971540715417154271543715447154571546715477154871549715507155171552715537155471555715567155771558715597156071561715627156371564715657156671567715687156971570715717157271573715747157571576715777157871579715807158171582715837158471585715867158771588715897159071591715927159371594715957159671597715987159971600716017160271603716047160571606716077160871609716107161171612716137161471615716167161771618716197162071621716227162371624716257162671627716287162971630716317163271633716347163571636716377163871639716407164171642716437164471645716467164771648716497165071651716527165371654716557165671657716587165971660716617166271663716647166571666716677166871669716707167171672716737167471675716767167771678716797168071681716827168371684716857168671687716887168971690716917169271693716947169571696716977169871699717007170171702717037170471705717067170771708717097171071711717127171371714717157171671717717187171971720717217172271723717247172571726717277172871729717307173171732717337173471735717367173771738717397174071741717427174371744717457174671747717487174971750717517175271753717547175571756717577175871759717607176171762717637176471765717667176771768717697177071771717727177371774717757177671777717787177971780717817178271783717847178571786717877178871789717907179171792717937179471795717967179771798717997180071801718027180371804718057180671807718087180971810718117181271813718147181571816718177181871819718207182171822718237182471825718267182771828718297183071831718327183371834718357183671837718387183971840718417184271843718447184571846718477184871849718507185171852718537185471855718567185771858718597186071861718627186371864718657186671867718687186971870718717187271873718747187571876718777187871879718807188171882718837188471885718867188771888718897189071891718927189371894718957189671897718987189971900719017190271903719047190571906719077190871909719107191171912719137191471915719167191771918719197192071921719227192371924719257192671927719287192971930719317193271933719347193571936719377193871939719407194171942719437194471945719467194771948719497195071951719527195371954719557195671957719587195971960719617196271963719647196571966719677196871969719707197171972719737197471975719767197771978719797198071981719827198371984719857198671987719887198971990719917199271993719947199571996719977199871999720007200172002720037200472005720067200772008720097201072011720127201372014720157201672017720187201972020720217202272023720247202572026720277202872029720307203172032720337203472035720367203772038720397204072041720427204372044720457204672047720487204972050720517205272053720547205572056720577205872059720607206172062720637206472065720667206772068720697207072071720727207372074720757207672077720787207972080720817208272083720847208572086720877208872089720907209172092720937209472095720967209772098720997210072101721027210372104721057210672107721087210972110721117211272113721147211572116721177211872119721207212172122721237212472125721267212772128721297213072131721327213372134721357213672137721387213972140721417214272143721447214572146721477214872149721507215172152721537215472155721567215772158721597216072161721627216372164721657216672167721687216972170721717217272173721747217572176721777217872179721807218172182721837218472185721867218772188721897219072191721927219372194721957219672197721987219972200722017220272203722047220572206722077220872209722107221172212722137221472215722167221772218722197222072221722227222372224722257222672227722287222972230722317223272233722347223572236722377223872239722407224172242722437224472245722467224772248722497225072251722527225372254722557225672257722587225972260722617226272263722647226572266722677226872269722707227172272722737227472275722767227772278722797228072281722827228372284722857228672287722887228972290722917229272293722947229572296722977229872299723007230172302723037230472305723067230772308723097231072311723127231372314723157231672317723187231972320723217232272323723247232572326723277232872329723307233172332723337233472335723367233772338723397234072341723427234372344723457234672347723487234972350723517235272353723547235572356723577235872359723607236172362723637236472365723667236772368723697237072371723727237372374723757237672377723787237972380723817238272383723847238572386723877238872389723907239172392723937239472395723967239772398723997240072401724027240372404724057240672407724087240972410724117241272413724147241572416724177241872419724207242172422724237242472425724267242772428724297243072431724327243372434724357243672437724387243972440724417244272443724447244572446724477244872449724507245172452724537245472455724567245772458724597246072461724627246372464724657246672467724687246972470724717247272473724747247572476724777247872479724807248172482724837248472485724867248772488724897249072491724927249372494724957249672497724987249972500725017250272503725047250572506725077250872509725107251172512725137251472515725167251772518725197252072521725227252372524725257252672527725287252972530725317253272533725347253572536725377253872539725407254172542725437254472545725467254772548725497255072551725527255372554725557255672557725587255972560725617256272563725647256572566725677256872569725707257172572725737257472575725767257772578725797258072581725827258372584725857258672587725887258972590725917259272593725947259572596725977259872599726007260172602726037260472605726067260772608726097261072611726127261372614726157261672617726187261972620726217262272623726247262572626726277262872629726307263172632726337263472635726367263772638726397264072641726427264372644726457264672647726487264972650726517265272653726547265572656726577265872659726607266172662726637266472665726667266772668726697267072671726727267372674726757267672677726787267972680726817268272683726847268572686726877268872689726907269172692726937269472695726967269772698726997270072701727027270372704727057270672707727087270972710727117271272713727147271572716727177271872719727207272172722727237272472725727267272772728727297273072731727327273372734727357273672737727387273972740727417274272743727447274572746727477274872749727507275172752727537275472755727567275772758727597276072761727627276372764727657276672767727687276972770727717277272773727747277572776727777277872779727807278172782727837278472785727867278772788727897279072791727927279372794727957279672797727987279972800728017280272803728047280572806728077280872809728107281172812728137281472815728167281772818728197282072821728227282372824728257282672827728287282972830728317283272833728347283572836728377283872839728407284172842728437284472845728467284772848728497285072851728527285372854728557285672857728587285972860728617286272863728647286572866728677286872869728707287172872728737287472875728767287772878728797288072881728827288372884728857288672887728887288972890728917289272893728947289572896728977289872899729007290172902729037290472905729067290772908729097291072911729127291372914729157291672917729187291972920729217292272923729247292572926729277292872929729307293172932729337293472935729367293772938729397294072941729427294372944729457294672947729487294972950729517295272953729547295572956729577295872959729607296172962729637296472965729667296772968729697297072971729727297372974729757297672977729787297972980729817298272983729847298572986729877298872989729907299172992729937299472995729967299772998729997300073001730027300373004730057300673007730087300973010730117301273013730147301573016730177301873019730207302173022730237302473025730267302773028730297303073031730327303373034730357303673037730387303973040730417304273043730447304573046730477304873049730507305173052730537305473055730567305773058730597306073061730627306373064730657306673067730687306973070730717307273073730747307573076730777307873079730807308173082730837308473085730867308773088730897309073091730927309373094730957309673097730987309973100731017310273103731047310573106731077310873109731107311173112731137311473115731167311773118731197312073121731227312373124731257312673127731287312973130731317313273133731347313573136731377313873139731407314173142731437314473145731467314773148731497315073151731527315373154731557315673157731587315973160731617316273163731647316573166731677316873169731707317173172731737317473175731767317773178731797318073181731827318373184731857318673187731887318973190731917319273193731947319573196731977319873199732007320173202732037320473205732067320773208732097321073211732127321373214732157321673217732187321973220732217322273223732247322573226732277322873229732307323173232732337323473235732367323773238732397324073241732427324373244732457324673247732487324973250732517325273253732547325573256732577325873259732607326173262732637326473265732667326773268732697327073271732727327373274732757327673277732787327973280732817328273283732847328573286732877328873289732907329173292732937329473295732967329773298732997330073301733027330373304733057330673307733087330973310733117331273313733147331573316733177331873319733207332173322733237332473325733267332773328733297333073331733327333373334733357333673337733387333973340733417334273343733447334573346733477334873349733507335173352733537335473355733567335773358733597336073361733627336373364733657336673367733687336973370733717337273373733747337573376733777337873379733807338173382733837338473385733867338773388733897339073391733927339373394733957339673397733987339973400734017340273403734047340573406734077340873409734107341173412734137341473415734167341773418734197342073421734227342373424734257342673427734287342973430734317343273433734347343573436734377343873439734407344173442734437344473445734467344773448734497345073451734527345373454734557345673457734587345973460734617346273463734647346573466734677346873469734707347173472734737347473475734767347773478734797348073481734827348373484734857348673487734887348973490734917349273493734947349573496734977349873499735007350173502735037350473505735067350773508735097351073511735127351373514735157351673517735187351973520735217352273523735247352573526735277352873529735307353173532735337353473535735367353773538735397354073541735427354373544735457354673547735487354973550735517355273553735547355573556735577355873559735607356173562735637356473565735667356773568735697357073571735727357373574735757357673577735787357973580735817358273583735847358573586735877358873589735907359173592735937359473595735967359773598735997360073601736027360373604736057360673607736087360973610736117361273613736147361573616736177361873619736207362173622736237362473625736267362773628736297363073631736327363373634736357363673637736387363973640736417364273643736447364573646736477364873649736507365173652736537365473655736567365773658736597366073661736627366373664736657366673667736687366973670736717367273673736747367573676736777367873679736807368173682736837368473685736867368773688736897369073691736927369373694736957369673697736987369973700737017370273703737047370573706737077370873709737107371173712737137371473715737167371773718737197372073721737227372373724737257372673727737287372973730737317373273733737347373573736737377373873739737407374173742737437374473745737467374773748737497375073751737527375373754737557375673757737587375973760737617376273763737647376573766737677376873769737707377173772737737377473775737767377773778737797378073781737827378373784737857378673787737887378973790737917379273793737947379573796737977379873799738007380173802738037380473805738067380773808738097381073811738127381373814738157381673817738187381973820738217382273823738247382573826738277382873829738307383173832738337383473835738367383773838738397384073841738427384373844738457384673847738487384973850738517385273853738547385573856738577385873859738607386173862738637386473865738667386773868738697387073871738727387373874738757387673877738787387973880738817388273883738847388573886738877388873889738907389173892738937389473895738967389773898738997390073901739027390373904739057390673907739087390973910739117391273913739147391573916739177391873919739207392173922739237392473925739267392773928739297393073931739327393373934739357393673937739387393973940739417394273943739447394573946739477394873949739507395173952739537395473955739567395773958739597396073961739627396373964739657396673967739687396973970739717397273973739747397573976739777397873979739807398173982739837398473985739867398773988739897399073991739927399373994739957399673997739987399974000740017400274003740047400574006740077400874009740107401174012740137401474015740167401774018740197402074021740227402374024740257402674027740287402974030740317403274033740347403574036740377403874039740407404174042740437404474045740467404774048740497405074051740527405374054740557405674057740587405974060740617406274063740647406574066740677406874069740707407174072740737407474075740767407774078740797408074081740827408374084740857408674087740887408974090740917409274093740947409574096740977409874099741007410174102741037410474105741067410774108741097411074111741127411374114741157411674117741187411974120741217412274123741247412574126741277412874129741307413174132741337413474135741367413774138741397414074141741427414374144741457414674147741487414974150741517415274153741547415574156741577415874159741607416174162741637416474165741667416774168741697417074171741727417374174741757417674177741787417974180741817418274183741847418574186741877418874189741907419174192741937419474195741967419774198741997420074201742027420374204742057420674207742087420974210742117421274213742147421574216742177421874219742207422174222742237422474225742267422774228742297423074231742327423374234742357423674237742387423974240742417424274243742447424574246742477424874249742507425174252742537425474255742567425774258742597426074261742627426374264742657426674267742687426974270742717427274273742747427574276742777427874279742807428174282742837428474285742867428774288742897429074291742927429374294742957429674297742987429974300743017430274303743047430574306743077430874309743107431174312743137431474315743167431774318743197432074321743227432374324743257432674327743287432974330743317433274333743347433574336743377433874339743407434174342743437434474345743467434774348743497435074351743527435374354743557435674357743587435974360743617436274363743647436574366743677436874369743707437174372743737437474375743767437774378743797438074381743827438374384743857438674387743887438974390743917439274393743947439574396743977439874399744007440174402744037440474405744067440774408744097441074411744127441374414744157441674417744187441974420744217442274423744247442574426744277442874429744307443174432744337443474435744367443774438744397444074441744427444374444744457444674447744487444974450744517445274453744547445574456744577445874459744607446174462744637446474465744667446774468744697447074471744727447374474744757447674477744787447974480744817448274483744847448574486744877448874489744907449174492744937449474495744967449774498744997450074501745027450374504745057450674507745087450974510745117451274513745147451574516745177451874519745207452174522745237452474525745267452774528745297453074531745327453374534745357453674537745387453974540745417454274543745447454574546745477454874549745507455174552745537455474555745567455774558745597456074561745627456374564745657456674567745687456974570745717457274573745747457574576745777457874579745807458174582745837458474585745867458774588745897459074591745927459374594745957459674597745987459974600746017460274603746047460574606746077460874609746107461174612746137461474615746167461774618746197462074621746227462374624746257462674627746287462974630746317463274633746347463574636746377463874639746407464174642746437464474645746467464774648746497465074651746527465374654746557465674657746587465974660746617466274663746647466574666746677466874669746707467174672746737467474675746767467774678746797468074681746827468374684746857468674687746887468974690746917469274693746947469574696746977469874699747007470174702747037470474705747067470774708747097471074711747127471374714747157471674717747187471974720747217472274723747247472574726747277472874729747307473174732747337473474735747367473774738747397474074741747427474374744747457474674747747487474974750747517475274753747547475574756747577475874759747607476174762747637476474765747667476774768747697477074771747727477374774747757477674777747787477974780747817478274783747847478574786747877478874789747907479174792747937479474795747967479774798747997480074801748027480374804748057480674807748087480974810748117481274813748147481574816748177481874819748207482174822748237482474825748267482774828748297483074831748327483374834748357483674837748387483974840748417484274843748447484574846748477484874849748507485174852748537485474855748567485774858748597486074861748627486374864748657486674867748687486974870748717487274873748747487574876748777487874879748807488174882748837488474885748867488774888748897489074891748927489374894748957489674897748987489974900749017490274903749047490574906749077490874909749107491174912749137491474915749167491774918749197492074921749227492374924749257492674927749287492974930749317493274933749347493574936749377493874939749407494174942749437494474945749467494774948749497495074951749527495374954749557495674957749587495974960749617496274963749647496574966749677496874969749707497174972749737497474975749767497774978749797498074981749827498374984749857498674987749887498974990749917499274993749947499574996749977499874999750007500175002750037500475005750067500775008750097501075011750127501375014750157501675017750187501975020750217502275023750247502575026750277502875029750307503175032750337503475035750367503775038750397504075041750427504375044750457504675047750487504975050750517505275053750547505575056750577505875059750607506175062750637506475065750667506775068750697507075071750727507375074750757507675077750787507975080750817508275083750847508575086750877508875089750907509175092750937509475095750967509775098750997510075101751027510375104751057510675107751087510975110751117511275113751147511575116751177511875119751207512175122751237512475125751267512775128751297513075131751327513375134751357513675137751387513975140751417514275143751447514575146751477514875149751507515175152751537515475155751567515775158751597516075161751627516375164751657516675167751687516975170751717517275173751747517575176751777517875179751807518175182751837518475185751867518775188751897519075191751927519375194751957519675197751987519975200752017520275203752047520575206752077520875209752107521175212752137521475215752167521775218752197522075221752227522375224752257522675227752287522975230752317523275233752347523575236752377523875239752407524175242752437524475245752467524775248752497525075251752527525375254752557525675257752587525975260752617526275263752647526575266752677526875269752707527175272752737527475275752767527775278752797528075281752827528375284752857528675287752887528975290752917529275293752947529575296752977529875299753007530175302753037530475305753067530775308753097531075311753127531375314753157531675317753187531975320753217532275323753247532575326753277532875329753307533175332753337533475335753367533775338753397534075341753427534375344753457534675347753487534975350753517535275353753547535575356753577535875359753607536175362753637536475365753667536775368753697537075371753727537375374753757537675377753787537975380753817538275383753847538575386753877538875389753907539175392753937539475395753967539775398753997540075401754027540375404754057540675407754087540975410754117541275413754147541575416754177541875419754207542175422754237542475425754267542775428754297543075431754327543375434754357543675437754387543975440754417544275443754447544575446754477544875449754507545175452754537545475455754567545775458754597546075461754627546375464754657546675467754687546975470754717547275473754747547575476754777547875479754807548175482754837548475485754867548775488754897549075491754927549375494754957549675497754987549975500755017550275503755047550575506755077550875509755107551175512755137551475515755167551775518755197552075521755227552375524755257552675527755287552975530755317553275533755347553575536755377553875539755407554175542755437554475545755467554775548755497555075551755527555375554755557555675557755587555975560755617556275563755647556575566755677556875569755707557175572755737557475575755767557775578755797558075581755827558375584755857558675587755887558975590755917559275593755947559575596755977559875599756007560175602756037560475605756067560775608756097561075611756127561375614756157561675617756187561975620756217562275623756247562575626756277562875629756307563175632756337563475635756367563775638756397564075641756427564375644756457564675647756487564975650756517565275653756547565575656756577565875659756607566175662756637566475665756667566775668756697567075671756727567375674756757567675677756787567975680756817568275683756847568575686756877568875689756907569175692756937569475695756967569775698756997570075701757027570375704757057570675707757087570975710757117571275713757147571575716757177571875719757207572175722757237572475725757267572775728757297573075731757327573375734757357573675737757387573975740757417574275743757447574575746757477574875749757507575175752757537575475755757567575775758757597576075761757627576375764757657576675767757687576975770757717577275773757747577575776757777577875779757807578175782757837578475785757867578775788757897579075791757927579375794757957579675797757987579975800758017580275803758047580575806758077580875809758107581175812758137581475815758167581775818758197582075821758227582375824758257582675827758287582975830758317583275833758347583575836758377583875839758407584175842758437584475845758467584775848758497585075851758527585375854758557585675857758587585975860758617586275863758647586575866758677586875869758707587175872758737587475875758767587775878758797588075881758827588375884758857588675887758887588975890758917589275893758947589575896758977589875899759007590175902759037590475905759067590775908759097591075911759127591375914759157591675917759187591975920759217592275923759247592575926759277592875929759307593175932759337593475935759367593775938759397594075941759427594375944759457594675947759487594975950759517595275953759547595575956759577595875959759607596175962759637596475965759667596775968759697597075971759727597375974759757597675977759787597975980759817598275983759847598575986759877598875989759907599175992759937599475995759967599775998759997600076001760027600376004760057600676007760087600976010760117601276013760147601576016760177601876019760207602176022760237602476025760267602776028760297603076031760327603376034760357603676037760387603976040760417604276043760447604576046760477604876049760507605176052760537605476055760567605776058760597606076061760627606376064760657606676067760687606976070760717607276073760747607576076760777607876079760807608176082760837608476085760867608776088760897609076091760927609376094760957609676097760987609976100761017610276103761047610576106761077610876109761107611176112761137611476115761167611776118761197612076121761227612376124761257612676127761287612976130761317613276133761347613576136761377613876139761407614176142761437614476145761467614776148761497615076151761527615376154761557615676157761587615976160761617616276163761647616576166761677616876169761707617176172761737617476175761767617776178761797618076181761827618376184761857618676187761887618976190761917619276193761947619576196761977619876199762007620176202762037620476205762067620776208762097621076211762127621376214762157621676217762187621976220762217622276223762247622576226762277622876229762307623176232762337623476235762367623776238762397624076241762427624376244762457624676247762487624976250762517625276253762547625576256762577625876259762607626176262762637626476265762667626776268762697627076271762727627376274762757627676277762787627976280762817628276283762847628576286762877628876289762907629176292762937629476295762967629776298762997630076301763027630376304763057630676307763087630976310763117631276313763147631576316763177631876319763207632176322763237632476325763267632776328763297633076331763327633376334763357633676337763387633976340763417634276343763447634576346763477634876349763507635176352763537635476355763567635776358763597636076361763627636376364763657636676367763687636976370763717637276373763747637576376763777637876379763807638176382763837638476385763867638776388763897639076391763927639376394763957639676397763987639976400764017640276403764047640576406764077640876409764107641176412764137641476415764167641776418764197642076421764227642376424764257642676427764287642976430764317643276433764347643576436764377643876439764407644176442764437644476445764467644776448764497645076451764527645376454764557645676457764587645976460764617646276463764647646576466764677646876469764707647176472764737647476475764767647776478764797648076481764827648376484764857648676487764887648976490764917649276493764947649576496764977649876499765007650176502765037650476505765067650776508765097651076511765127651376514765157651676517765187651976520765217652276523765247652576526765277652876529765307653176532765337653476535765367653776538765397654076541765427654376544765457654676547765487654976550765517655276553765547655576556765577655876559765607656176562765637656476565765667656776568765697657076571765727657376574765757657676577765787657976580765817658276583765847658576586765877658876589765907659176592765937659476595765967659776598765997660076601766027660376604766057660676607766087660976610766117661276613766147661576616766177661876619766207662176622766237662476625766267662776628766297663076631766327663376634766357663676637766387663976640766417664276643766447664576646766477664876649766507665176652766537665476655766567665776658766597666076661766627666376664766657666676667766687666976670766717667276673766747667576676766777667876679766807668176682766837668476685766867668776688766897669076691766927669376694766957669676697766987669976700767017670276703767047670576706767077670876709767107671176712767137671476715767167671776718767197672076721767227672376724767257672676727767287672976730767317673276733767347673576736767377673876739767407674176742767437674476745767467674776748767497675076751767527675376754767557675676757767587675976760767617676276763767647676576766767677676876769767707677176772767737677476775767767677776778767797678076781767827678376784767857678676787767887678976790767917679276793767947679576796767977679876799768007680176802768037680476805768067680776808768097681076811768127681376814768157681676817768187681976820768217682276823768247682576826768277682876829768307683176832768337683476835768367683776838768397684076841768427684376844768457684676847768487684976850768517685276853768547685576856768577685876859768607686176862768637686476865768667686776868768697687076871768727687376874768757687676877768787687976880768817688276883768847688576886768877688876889768907689176892768937689476895768967689776898768997690076901769027690376904769057690676907769087690976910769117691276913769147691576916769177691876919769207692176922769237692476925769267692776928769297693076931769327693376934769357693676937769387693976940769417694276943769447694576946769477694876949769507695176952769537695476955769567695776958769597696076961769627696376964769657696676967769687696976970769717697276973769747697576976769777697876979769807698176982769837698476985769867698776988769897699076991769927699376994769957699676997769987699977000770017700277003770047700577006770077700877009770107701177012770137701477015770167701777018770197702077021770227702377024770257702677027770287702977030770317703277033770347703577036770377703877039770407704177042770437704477045770467704777048770497705077051770527705377054770557705677057770587705977060770617706277063770647706577066770677706877069770707707177072770737707477075770767707777078770797708077081770827708377084770857708677087770887708977090770917709277093770947709577096770977709877099771007710177102771037710477105771067710777108771097711077111771127711377114771157711677117771187711977120771217712277123771247712577126771277712877129771307713177132771337713477135771367713777138771397714077141771427714377144771457714677147771487714977150771517715277153771547715577156771577715877159771607716177162771637716477165771667716777168771697717077171771727717377174771757717677177771787717977180771817718277183771847718577186771877718877189771907719177192771937719477195771967719777198771997720077201772027720377204772057720677207772087720977210772117721277213772147721577216772177721877219772207722177222772237722477225772267722777228772297723077231772327723377234772357723677237772387723977240772417724277243772447724577246772477724877249772507725177252772537725477255772567725777258772597726077261772627726377264772657726677267772687726977270772717727277273772747727577276772777727877279772807728177282772837728477285772867728777288772897729077291772927729377294772957729677297772987729977300773017730277303773047730577306773077730877309773107731177312773137731477315773167731777318773197732077321773227732377324773257732677327773287732977330773317733277333773347733577336773377733877339773407734177342773437734477345773467734777348773497735077351773527735377354773557735677357773587735977360773617736277363773647736577366773677736877369773707737177372773737737477375773767737777378773797738077381773827738377384773857738677387773887738977390773917739277393773947739577396773977739877399774007740177402774037740477405774067740777408774097741077411774127741377414774157741677417774187741977420774217742277423774247742577426774277742877429774307743177432774337743477435774367743777438774397744077441774427744377444774457744677447774487744977450774517745277453774547745577456774577745877459774607746177462774637746477465774667746777468774697747077471774727747377474774757747677477774787747977480774817748277483774847748577486774877748877489774907749177492774937749477495774967749777498774997750077501775027750377504775057750677507775087750977510775117751277513775147751577516775177751877519775207752177522775237752477525775267752777528775297753077531775327753377534775357753677537775387753977540775417754277543775447754577546775477754877549775507755177552775537755477555775567755777558775597756077561775627756377564775657756677567775687756977570775717757277573775747757577576775777757877579775807758177582775837758477585775867758777588775897759077591775927759377594775957759677597775987759977600776017760277603776047760577606776077760877609776107761177612776137761477615776167761777618776197762077621776227762377624776257762677627776287762977630776317763277633776347763577636776377763877639776407764177642776437764477645776467764777648776497765077651776527765377654776557765677657776587765977660776617766277663776647766577666776677766877669776707767177672776737767477675776767767777678776797768077681776827768377684776857768677687776887768977690776917769277693776947769577696776977769877699777007770177702777037770477705777067770777708777097771077711777127771377714777157771677717777187771977720777217772277723777247772577726777277772877729777307773177732777337773477735777367773777738777397774077741777427774377744777457774677747777487774977750777517775277753777547775577756777577775877759777607776177762777637776477765777667776777768777697777077771777727777377774777757777677777777787777977780777817778277783777847778577786777877778877789777907779177792777937779477795777967779777798777997780077801778027780377804778057780677807778087780977810778117781277813778147781577816778177781877819778207782177822778237782477825778267782777828778297783077831778327783377834778357783677837778387783977840778417784277843778447784577846778477784877849778507785177852778537785477855778567785777858778597786077861778627786377864778657786677867778687786977870778717787277873778747787577876778777787877879778807788177882778837788477885778867788777888778897789077891778927789377894778957789677897778987789977900779017790277903779047790577906779077790877909779107791177912779137791477915779167791777918779197792077921779227792377924779257792677927779287792977930779317793277933779347793577936779377793877939779407794177942779437794477945779467794777948779497795077951779527795377954779557795677957779587795977960779617796277963779647796577966779677796877969779707797177972779737797477975779767797777978779797798077981779827798377984779857798677987779887798977990779917799277993779947799577996779977799877999780007800178002780037800478005780067800778008780097801078011780127801378014780157801678017780187801978020780217802278023780247802578026780277802878029780307803178032780337803478035780367803778038780397804078041780427804378044780457804678047780487804978050780517805278053780547805578056780577805878059780607806178062780637806478065780667806778068780697807078071780727807378074780757807678077780787807978080780817808278083780847808578086780877808878089780907809178092780937809478095780967809778098780997810078101781027810378104781057810678107781087810978110781117811278113781147811578116781177811878119781207812178122781237812478125781267812778128781297813078131781327813378134781357813678137781387813978140781417814278143781447814578146781477814878149781507815178152781537815478155781567815778158781597816078161781627816378164781657816678167781687816978170781717817278173781747817578176781777817878179781807818178182781837818478185781867818778188781897819078191781927819378194781957819678197781987819978200782017820278203782047820578206782077820878209782107821178212782137821478215782167821778218782197822078221782227822378224782257822678227782287822978230782317823278233782347823578236782377823878239782407824178242782437824478245782467824778248782497825078251782527825378254782557825678257782587825978260782617826278263782647826578266782677826878269782707827178272782737827478275782767827778278782797828078281782827828378284782857828678287782887828978290782917829278293782947829578296782977829878299783007830178302783037830478305783067830778308783097831078311783127831378314783157831678317783187831978320783217832278323783247832578326783277832878329783307833178332783337833478335783367833778338783397834078341783427834378344783457834678347783487834978350783517835278353783547835578356783577835878359783607836178362783637836478365783667836778368783697837078371783727837378374783757837678377783787837978380783817838278383783847838578386783877838878389783907839178392783937839478395783967839778398783997840078401784027840378404784057840678407784087840978410784117841278413784147841578416784177841878419784207842178422784237842478425784267842778428784297843078431784327843378434784357843678437784387843978440784417844278443784447844578446784477844878449784507845178452784537845478455784567845778458784597846078461784627846378464784657846678467784687846978470784717847278473784747847578476784777847878479784807848178482784837848478485784867848778488784897849078491784927849378494784957849678497784987849978500785017850278503785047850578506785077850878509785107851178512785137851478515785167851778518785197852078521785227852378524785257852678527785287852978530785317853278533785347853578536785377853878539785407854178542785437854478545785467854778548785497855078551785527855378554785557855678557785587855978560785617856278563785647856578566785677856878569785707857178572785737857478575785767857778578785797858078581785827858378584785857858678587785887858978590785917859278593785947859578596785977859878599786007860178602786037860478605786067860778608786097861078611786127861378614786157861678617786187861978620786217862278623786247862578626786277862878629786307863178632786337863478635786367863778638786397864078641786427864378644786457864678647786487864978650786517865278653786547865578656786577865878659786607866178662786637866478665786667866778668786697867078671786727867378674786757867678677786787867978680786817868278683786847868578686786877868878689786907869178692786937869478695786967869778698786997870078701787027870378704787057870678707787087870978710787117871278713787147871578716787177871878719787207872178722787237872478725787267872778728787297873078731787327873378734787357873678737787387873978740787417874278743787447874578746787477874878749787507875178752787537875478755787567875778758787597876078761787627876378764787657876678767787687876978770787717877278773787747877578776787777877878779787807878178782787837878478785787867878778788787897879078791787927879378794787957879678797787987879978800788017880278803788047880578806788077880878809788107881178812788137881478815788167881778818788197882078821788227882378824788257882678827788287882978830788317883278833788347883578836788377883878839788407884178842788437884478845788467884778848788497885078851788527885378854788557885678857788587885978860788617886278863788647886578866788677886878869788707887178872788737887478875788767887778878788797888078881788827888378884788857888678887788887888978890788917889278893788947889578896788977889878899789007890178902789037890478905789067890778908789097891078911789127891378914789157891678917789187891978920789217892278923789247892578926789277892878929789307893178932789337893478935789367893778938789397894078941789427894378944789457894678947789487894978950789517895278953789547895578956789577895878959789607896178962789637896478965789667896778968789697897078971789727897378974789757897678977789787897978980789817898278983789847898578986789877898878989789907899178992789937899478995789967899778998789997900079001790027900379004790057900679007790087900979010790117901279013790147901579016790177901879019790207902179022790237902479025790267902779028790297903079031790327903379034790357903679037790387903979040790417904279043790447904579046790477904879049790507905179052790537905479055790567905779058790597906079061790627906379064790657906679067790687906979070790717907279073790747907579076790777907879079790807908179082790837908479085790867908779088790897909079091790927909379094790957909679097790987909979100791017910279103791047910579106791077910879109791107911179112791137911479115791167911779118791197912079121791227912379124791257912679127791287912979130791317913279133791347913579136791377913879139791407914179142791437914479145791467914779148791497915079151791527915379154791557915679157791587915979160791617916279163791647916579166791677916879169791707917179172791737917479175791767917779178791797918079181791827918379184791857918679187791887918979190791917919279193791947919579196791977919879199792007920179202792037920479205792067920779208792097921079211792127921379214792157921679217792187921979220792217922279223792247922579226792277922879229792307923179232792337923479235792367923779238792397924079241792427924379244792457924679247792487924979250792517925279253792547925579256792577925879259792607926179262792637926479265792667926779268792697927079271792727927379274792757927679277792787927979280792817928279283792847928579286792877928879289792907929179292792937929479295792967929779298792997930079301793027930379304793057930679307793087930979310793117931279313793147931579316793177931879319793207932179322793237932479325793267932779328793297933079331793327933379334793357933679337793387933979340793417934279343793447934579346793477934879349793507935179352793537935479355793567935779358793597936079361793627936379364793657936679367793687936979370793717937279373793747937579376793777937879379793807938179382793837938479385793867938779388793897939079391793927939379394793957939679397793987939979400794017940279403794047940579406794077940879409794107941179412794137941479415794167941779418794197942079421794227942379424794257942679427794287942979430794317943279433794347943579436794377943879439794407944179442794437944479445794467944779448794497945079451794527945379454794557945679457794587945979460794617946279463794647946579466794677946879469794707947179472794737947479475794767947779478794797948079481794827948379484794857948679487794887948979490794917949279493794947949579496794977949879499795007950179502795037950479505795067950779508795097951079511795127951379514795157951679517795187951979520795217952279523795247952579526795277952879529795307953179532795337953479535795367953779538795397954079541795427954379544795457954679547795487954979550795517955279553795547955579556795577955879559795607956179562795637956479565795667956779568795697957079571795727957379574795757957679577795787957979580795817958279583795847958579586795877958879589795907959179592795937959479595795967959779598795997960079601796027960379604796057960679607796087960979610796117961279613796147961579616796177961879619796207962179622796237962479625796267962779628796297963079631796327963379634796357963679637796387963979640796417964279643796447964579646796477964879649796507965179652796537965479655796567965779658796597966079661796627966379664796657966679667796687966979670796717967279673796747967579676796777967879679796807968179682796837968479685796867968779688796897969079691796927969379694796957969679697796987969979700797017970279703797047970579706797077970879709797107971179712797137971479715797167971779718797197972079721797227972379724797257972679727797287972979730797317973279733797347973579736797377973879739797407974179742797437974479745797467974779748797497975079751797527975379754797557975679757797587975979760797617976279763797647976579766797677976879769797707977179772797737977479775797767977779778797797978079781797827978379784797857978679787797887978979790797917979279793797947979579796797977979879799798007980179802798037980479805798067980779808798097981079811798127981379814798157981679817798187981979820798217982279823798247982579826798277982879829798307983179832798337983479835798367983779838798397984079841798427984379844798457984679847798487984979850798517985279853798547985579856798577985879859798607986179862798637986479865798667986779868798697987079871798727987379874798757987679877798787987979880798817988279883798847988579886798877988879889798907989179892798937989479895798967989779898798997990079901799027990379904799057990679907799087990979910799117991279913799147991579916799177991879919799207992179922799237992479925799267992779928799297993079931799327993379934799357993679937799387993979940799417994279943799447994579946799477994879949799507995179952799537995479955799567995779958799597996079961799627996379964799657996679967799687996979970799717997279973799747997579976799777997879979799807998179982799837998479985799867998779988799897999079991799927999379994799957999679997799987999980000800018000280003800048000580006800078000880009800108001180012800138001480015800168001780018800198002080021800228002380024800258002680027800288002980030800318003280033800348003580036800378003880039800408004180042800438004480045800468004780048800498005080051800528005380054800558005680057800588005980060800618006280063800648006580066800678006880069800708007180072800738007480075800768007780078800798008080081800828008380084800858008680087800888008980090800918009280093800948009580096800978009880099801008010180102801038010480105801068010780108801098011080111801128011380114801158011680117801188011980120801218012280123801248012580126801278012880129801308013180132801338013480135801368013780138801398014080141801428014380144801458014680147801488014980150801518015280153801548015580156801578015880159801608016180162801638016480165801668016780168801698017080171801728017380174801758017680177801788017980180801818018280183801848018580186801878018880189801908019180192801938019480195801968019780198801998020080201802028020380204802058020680207802088020980210802118021280213802148021580216802178021880219802208022180222802238022480225802268022780228802298023080231802328023380234802358023680237802388023980240802418024280243802448024580246802478024880249802508025180252802538025480255802568025780258802598026080261802628026380264802658026680267802688026980270802718027280273802748027580276802778027880279802808028180282802838028480285802868028780288802898029080291802928029380294802958029680297802988029980300803018030280303803048030580306803078030880309803108031180312803138031480315803168031780318803198032080321803228032380324803258032680327803288032980330803318033280333803348033580336803378033880339803408034180342803438034480345803468034780348803498035080351803528035380354803558035680357803588035980360803618036280363803648036580366803678036880369803708037180372803738037480375803768037780378803798038080381803828038380384803858038680387803888038980390803918039280393803948039580396803978039880399804008040180402804038040480405804068040780408804098041080411804128041380414804158041680417804188041980420804218042280423804248042580426804278042880429804308043180432804338043480435804368043780438804398044080441804428044380444804458044680447804488044980450804518045280453804548045580456804578045880459804608046180462804638046480465804668046780468804698047080471804728047380474804758047680477804788047980480804818048280483804848048580486804878048880489804908049180492804938049480495804968049780498804998050080501805028050380504805058050680507805088050980510805118051280513805148051580516805178051880519805208052180522805238052480525805268052780528805298053080531805328053380534805358053680537805388053980540805418054280543805448054580546805478054880549805508055180552805538055480555805568055780558805598056080561805628056380564805658056680567805688056980570805718057280573805748057580576805778057880579805808058180582805838058480585805868058780588805898059080591805928059380594805958059680597805988059980600806018060280603806048060580606806078060880609806108061180612806138061480615806168061780618806198062080621806228062380624806258062680627806288062980630806318063280633806348063580636806378063880639806408064180642806438064480645806468064780648806498065080651806528065380654806558065680657806588065980660806618066280663806648066580666806678066880669806708067180672806738067480675806768067780678806798068080681806828068380684806858068680687806888068980690806918069280693806948069580696806978069880699807008070180702807038070480705807068070780708807098071080711807128071380714807158071680717807188071980720807218072280723807248072580726807278072880729807308073180732807338073480735807368073780738807398074080741807428074380744807458074680747807488074980750807518075280753807548075580756807578075880759807608076180762807638076480765807668076780768807698077080771807728077380774807758077680777807788077980780807818078280783807848078580786807878078880789807908079180792807938079480795807968079780798807998080080801808028080380804808058080680807808088080980810808118081280813808148081580816808178081880819808208082180822808238082480825808268082780828808298083080831808328083380834808358083680837808388083980840808418084280843808448084580846808478084880849808508085180852808538085480855808568085780858808598086080861808628086380864808658086680867808688086980870808718087280873808748087580876808778087880879808808088180882808838088480885808868088780888808898089080891808928089380894808958089680897808988089980900809018090280903809048090580906809078090880909809108091180912809138091480915809168091780918809198092080921809228092380924809258092680927809288092980930809318093280933809348093580936809378093880939809408094180942809438094480945809468094780948809498095080951809528095380954809558095680957809588095980960809618096280963809648096580966809678096880969809708097180972809738097480975809768097780978809798098080981809828098380984809858098680987809888098980990809918099280993809948099580996809978099880999810008100181002810038100481005810068100781008810098101081011810128101381014810158101681017810188101981020810218102281023810248102581026810278102881029810308103181032810338103481035810368103781038810398104081041810428104381044810458104681047810488104981050810518105281053810548105581056810578105881059810608106181062810638106481065810668106781068810698107081071810728107381074810758107681077810788107981080810818108281083810848108581086810878108881089810908109181092810938109481095810968109781098810998110081101811028110381104811058110681107811088110981110811118111281113811148111581116811178111881119811208112181122811238112481125811268112781128811298113081131811328113381134811358113681137811388113981140811418114281143811448114581146811478114881149811508115181152811538115481155811568115781158811598116081161811628116381164811658116681167811688116981170811718117281173811748117581176811778117881179811808118181182811838118481185811868118781188811898119081191811928119381194811958119681197811988119981200812018120281203812048120581206812078120881209812108121181212812138121481215812168121781218812198122081221812228122381224812258122681227812288122981230812318123281233812348123581236812378123881239812408124181242812438124481245812468124781248812498125081251812528125381254812558125681257812588125981260812618126281263812648126581266812678126881269812708127181272812738127481275812768127781278812798128081281812828128381284812858128681287812888128981290812918129281293812948129581296812978129881299813008130181302813038130481305813068130781308813098131081311813128131381314813158131681317813188131981320813218132281323813248132581326813278132881329813308133181332813338133481335813368133781338813398134081341813428134381344813458134681347813488134981350813518135281353813548135581356813578135881359813608136181362813638136481365813668136781368813698137081371813728137381374813758137681377813788137981380813818138281383813848138581386813878138881389813908139181392813938139481395813968139781398813998140081401814028140381404814058140681407814088140981410814118141281413814148141581416814178141881419814208142181422814238142481425814268142781428814298143081431814328143381434814358143681437814388143981440814418144281443814448144581446814478144881449814508145181452814538145481455814568145781458814598146081461814628146381464814658146681467814688146981470814718147281473814748147581476814778147881479814808148181482814838148481485814868148781488814898149081491814928149381494814958149681497814988149981500815018150281503815048150581506815078150881509815108151181512815138151481515815168151781518815198152081521815228152381524815258152681527815288152981530815318153281533815348153581536815378153881539815408154181542815438154481545815468154781548815498155081551815528155381554815558155681557815588155981560815618156281563815648156581566815678156881569815708157181572815738157481575815768157781578815798158081581815828158381584815858158681587815888158981590815918159281593815948159581596815978159881599816008160181602816038160481605816068160781608816098161081611816128161381614816158161681617816188161981620816218162281623816248162581626816278162881629816308163181632816338163481635816368163781638816398164081641816428164381644816458164681647816488164981650816518165281653816548165581656816578165881659816608166181662816638166481665816668166781668816698167081671816728167381674816758167681677816788167981680816818168281683816848168581686816878168881689816908169181692816938169481695816968169781698816998170081701817028170381704817058170681707817088170981710817118171281713817148171581716817178171881719817208172181722817238172481725817268172781728817298173081731817328173381734817358173681737817388173981740817418174281743817448174581746817478174881749817508175181752817538175481755817568175781758817598176081761817628176381764817658176681767817688176981770817718177281773817748177581776817778177881779817808178181782817838178481785817868178781788817898179081791817928179381794817958179681797817988179981800818018180281803818048180581806818078180881809818108181181812818138181481815818168181781818818198182081821818228182381824818258182681827818288182981830818318183281833818348183581836818378183881839818408184181842818438184481845818468184781848818498185081851818528185381854818558185681857818588185981860818618186281863818648186581866818678186881869818708187181872818738187481875818768187781878818798188081881818828188381884818858188681887818888188981890818918189281893818948189581896818978189881899819008190181902819038190481905819068190781908819098191081911819128191381914819158191681917819188191981920819218192281923819248192581926819278192881929819308193181932819338193481935819368193781938819398194081941819428194381944819458194681947819488194981950819518195281953819548195581956819578195881959819608196181962819638196481965819668196781968819698197081971819728197381974819758197681977819788197981980819818198281983819848198581986819878198881989819908199181992819938199481995819968199781998819998200082001820028200382004820058200682007820088200982010820118201282013820148201582016820178201882019820208202182022820238202482025820268202782028820298203082031820328203382034820358203682037820388203982040820418204282043820448204582046820478204882049820508205182052820538205482055820568205782058820598206082061820628206382064820658206682067820688206982070820718207282073820748207582076820778207882079820808208182082820838208482085820868208782088820898209082091820928209382094820958209682097820988209982100821018210282103821048210582106821078210882109821108211182112821138211482115821168211782118821198212082121821228212382124821258212682127821288212982130821318213282133821348213582136821378213882139821408214182142821438214482145821468214782148821498215082151821528215382154821558215682157821588215982160821618216282163821648216582166821678216882169821708217182172821738217482175821768217782178821798218082181821828218382184821858218682187821888218982190821918219282193821948219582196821978219882199822008220182202822038220482205822068220782208822098221082211822128221382214822158221682217822188221982220822218222282223822248222582226822278222882229822308223182232822338223482235822368223782238822398224082241822428224382244822458224682247822488224982250822518225282253822548225582256822578225882259822608226182262822638226482265822668226782268822698227082271822728227382274822758227682277822788227982280822818228282283822848228582286822878228882289822908229182292822938229482295822968229782298822998230082301823028230382304823058230682307823088230982310823118231282313823148231582316823178231882319823208232182322823238232482325823268232782328823298233082331823328233382334823358233682337823388233982340823418234282343823448234582346823478234882349823508235182352823538235482355823568235782358823598236082361823628236382364823658236682367823688236982370823718237282373823748237582376823778237882379823808238182382823838238482385823868238782388823898239082391823928239382394823958239682397823988239982400824018240282403824048240582406824078240882409824108241182412824138241482415824168241782418824198242082421824228242382424824258242682427824288242982430824318243282433824348243582436824378243882439824408244182442824438244482445824468244782448824498245082451824528245382454824558245682457824588245982460824618246282463824648246582466824678246882469824708247182472824738247482475824768247782478824798248082481824828248382484824858248682487824888248982490824918249282493824948249582496824978249882499825008250182502825038250482505825068250782508825098251082511825128251382514825158251682517825188251982520825218252282523825248252582526825278252882529825308253182532825338253482535825368253782538825398254082541825428254382544825458254682547825488254982550825518255282553825548255582556825578255882559825608256182562825638256482565825668256782568825698257082571825728257382574825758257682577825788257982580825818258282583825848258582586825878258882589825908259182592825938259482595825968259782598825998260082601826028260382604826058260682607826088260982610826118261282613826148261582616826178261882619826208262182622826238262482625826268262782628826298263082631826328263382634826358263682637826388263982640826418264282643826448264582646826478264882649826508265182652826538265482655826568265782658826598266082661826628266382664826658266682667826688266982670826718267282673826748267582676826778267882679826808268182682826838268482685826868268782688826898269082691826928269382694826958269682697826988269982700827018270282703827048270582706827078270882709827108271182712827138271482715827168271782718827198272082721827228272382724827258272682727827288272982730827318273282733827348273582736827378273882739827408274182742827438274482745827468274782748827498275082751827528275382754827558275682757827588275982760827618276282763827648276582766827678276882769827708277182772827738277482775827768277782778827798278082781827828278382784827858278682787827888278982790827918279282793827948279582796827978279882799828008280182802828038280482805828068280782808828098281082811828128281382814828158281682817828188281982820828218282282823828248282582826828278282882829828308283182832828338283482835828368283782838828398284082841828428284382844828458284682847828488284982850828518285282853828548285582856828578285882859828608286182862828638286482865828668286782868828698287082871828728287382874828758287682877828788287982880828818288282883828848288582886828878288882889828908289182892828938289482895828968289782898828998290082901829028290382904829058290682907829088290982910829118291282913829148291582916829178291882919829208292182922829238292482925829268292782928829298293082931829328293382934829358293682937829388293982940829418294282943829448294582946829478294882949829508295182952829538295482955829568295782958829598296082961829628296382964829658296682967829688296982970829718297282973829748297582976829778297882979829808298182982829838298482985829868298782988829898299082991829928299382994829958299682997829988299983000830018300283003830048300583006830078300883009830108301183012830138301483015830168301783018830198302083021830228302383024830258302683027830288302983030830318303283033830348303583036830378303883039830408304183042830438304483045830468304783048830498305083051830528305383054830558305683057830588305983060830618306283063830648306583066830678306883069830708307183072830738307483075830768307783078830798308083081830828308383084830858308683087830888308983090830918309283093830948309583096830978309883099831008310183102831038310483105831068310783108831098311083111831128311383114831158311683117831188311983120831218312283123831248312583126831278312883129831308313183132831338313483135831368313783138831398314083141831428314383144831458314683147831488314983150831518315283153831548315583156831578315883159831608316183162831638316483165831668316783168831698317083171831728317383174831758317683177831788317983180831818318283183831848318583186831878318883189831908319183192831938319483195831968319783198831998320083201832028320383204832058320683207832088320983210832118321283213832148321583216832178321883219832208322183222832238322483225832268322783228832298323083231832328323383234832358323683237832388323983240832418324283243832448324583246832478324883249832508325183252832538325483255832568325783258832598326083261832628326383264832658326683267832688326983270832718327283273832748327583276832778327883279832808328183282832838328483285832868328783288832898329083291832928329383294832958329683297832988329983300833018330283303833048330583306833078330883309833108331183312833138331483315833168331783318833198332083321833228332383324833258332683327833288332983330833318333283333833348333583336833378333883339833408334183342833438334483345833468334783348833498335083351833528335383354833558335683357833588335983360833618336283363833648336583366833678336883369833708337183372833738337483375833768337783378833798338083381833828338383384833858338683387833888338983390833918339283393833948339583396833978339883399834008340183402834038340483405834068340783408834098341083411834128341383414834158341683417834188341983420834218342283423834248342583426834278342883429834308343183432834338343483435834368343783438834398344083441834428344383444834458344683447834488344983450834518345283453834548345583456834578345883459834608346183462834638346483465834668346783468834698347083471834728347383474834758347683477834788347983480834818348283483834848348583486834878348883489834908349183492834938349483495834968349783498834998350083501835028350383504835058350683507835088350983510835118351283513835148351583516835178351883519835208352183522835238352483525835268352783528835298353083531835328353383534835358353683537835388353983540835418354283543835448354583546835478354883549835508355183552835538355483555835568355783558835598356083561835628356383564835658356683567835688356983570835718357283573835748357583576835778357883579835808358183582835838358483585835868358783588835898359083591835928359383594835958359683597835988359983600836018360283603836048360583606836078360883609836108361183612836138361483615836168361783618836198362083621836228362383624836258362683627836288362983630836318363283633836348363583636836378363883639836408364183642836438364483645836468364783648836498365083651836528365383654836558365683657836588365983660836618366283663836648366583666836678366883669836708367183672836738367483675836768367783678836798368083681836828368383684836858368683687836888368983690836918369283693836948369583696836978369883699837008370183702837038370483705837068370783708837098371083711837128371383714837158371683717837188371983720837218372283723837248372583726837278372883729837308373183732837338373483735837368373783738837398374083741837428374383744837458374683747837488374983750837518375283753837548375583756837578375883759837608376183762837638376483765837668376783768837698377083771837728377383774837758377683777837788377983780837818378283783837848378583786837878378883789837908379183792837938379483795837968379783798837998380083801838028380383804838058380683807838088380983810838118381283813838148381583816838178381883819838208382183822838238382483825838268382783828838298383083831838328383383834838358383683837838388383983840838418384283843838448384583846838478384883849838508385183852838538385483855838568385783858838598386083861838628386383864838658386683867838688386983870838718387283873838748387583876838778387883879838808388183882838838388483885838868388783888838898389083891838928389383894838958389683897838988389983900839018390283903839048390583906839078390883909839108391183912839138391483915839168391783918839198392083921839228392383924839258392683927839288392983930839318393283933839348393583936839378393883939839408394183942839438394483945839468394783948839498395083951839528395383954839558395683957839588395983960839618396283963839648396583966839678396883969839708397183972839738397483975839768397783978839798398083981839828398383984839858398683987839888398983990839918399283993839948399583996839978399883999840008400184002840038400484005840068400784008840098401084011840128401384014840158401684017840188401984020840218402284023840248402584026840278402884029840308403184032840338403484035840368403784038840398404084041840428404384044840458404684047840488404984050840518405284053840548405584056840578405884059840608406184062840638406484065840668406784068840698407084071840728407384074840758407684077840788407984080840818408284083840848408584086840878408884089840908409184092840938409484095840968409784098840998410084101841028410384104841058410684107841088410984110841118411284113841148411584116841178411884119841208412184122841238412484125841268412784128841298413084131841328413384134841358413684137841388413984140841418414284143841448414584146841478414884149841508415184152841538415484155841568415784158841598416084161841628416384164841658416684167841688416984170841718417284173841748417584176841778417884179841808418184182841838418484185841868418784188841898419084191841928419384194841958419684197841988419984200842018420284203842048420584206842078420884209842108421184212842138421484215842168421784218842198422084221842228422384224842258422684227842288422984230842318423284233842348423584236842378423884239842408424184242842438424484245842468424784248842498425084251842528425384254842558425684257842588425984260842618426284263842648426584266842678426884269842708427184272842738427484275842768427784278842798428084281842828428384284842858428684287842888428984290842918429284293842948429584296842978429884299843008430184302843038430484305843068430784308843098431084311843128431384314843158431684317843188431984320843218432284323843248432584326843278432884329843308433184332843338433484335843368433784338843398434084341843428434384344843458434684347843488434984350843518435284353843548435584356843578435884359843608436184362843638436484365843668436784368843698437084371843728437384374843758437684377843788437984380843818438284383843848438584386843878438884389843908439184392843938439484395843968439784398843998440084401844028440384404844058440684407844088440984410844118441284413844148441584416844178441884419844208442184422844238442484425844268442784428844298443084431844328443384434844358443684437844388443984440844418444284443844448444584446844478444884449844508445184452844538445484455844568445784458844598446084461844628446384464844658446684467844688446984470844718447284473844748447584476844778447884479844808448184482844838448484485844868448784488844898449084491844928449384494844958449684497844988449984500845018450284503845048450584506845078450884509845108451184512845138451484515845168451784518845198452084521845228452384524845258452684527845288452984530845318453284533845348453584536845378453884539845408454184542845438454484545845468454784548845498455084551845528455384554845558455684557845588455984560845618456284563845648456584566845678456884569845708457184572845738457484575845768457784578845798458084581845828458384584845858458684587845888458984590845918459284593845948459584596845978459884599846008460184602846038460484605846068460784608846098461084611846128461384614846158461684617846188461984620846218462284623846248462584626846278462884629846308463184632846338463484635846368463784638846398464084641846428464384644846458464684647846488464984650846518465284653846548465584656846578465884659846608466184662846638466484665846668466784668846698467084671846728467384674846758467684677846788467984680846818468284683846848468584686846878468884689846908469184692846938469484695846968469784698846998470084701847028470384704847058470684707847088470984710847118471284713847148471584716847178471884719847208472184722847238472484725847268472784728847298473084731847328473384734847358473684737847388473984740847418474284743847448474584746847478474884749847508475184752847538475484755847568475784758847598476084761847628476384764847658476684767847688476984770847718477284773847748477584776847778477884779847808478184782847838478484785847868478784788847898479084791847928479384794847958479684797847988479984800848018480284803848048480584806848078480884809848108481184812848138481484815848168481784818848198482084821848228482384824848258482684827848288482984830848318483284833848348483584836848378483884839848408484184842848438484484845848468484784848848498485084851848528485384854848558485684857848588485984860848618486284863848648486584866848678486884869848708487184872848738487484875848768487784878848798488084881848828488384884848858488684887848888488984890848918489284893848948489584896848978489884899849008490184902849038490484905849068490784908849098491084911849128491384914849158491684917849188491984920849218492284923849248492584926849278492884929849308493184932849338493484935849368493784938849398494084941849428494384944849458494684947849488494984950849518495284953849548495584956849578495884959849608496184962849638496484965849668496784968849698497084971849728497384974849758497684977849788497984980849818498284983849848498584986849878498884989849908499184992849938499484995849968499784998849998500085001850028500385004850058500685007850088500985010850118501285013850148501585016850178501885019850208502185022850238502485025850268502785028850298503085031850328503385034850358503685037850388503985040850418504285043850448504585046850478504885049850508505185052850538505485055850568505785058850598506085061850628506385064850658506685067850688506985070850718507285073850748507585076850778507885079850808508185082850838508485085850868508785088850898509085091850928509385094850958509685097850988509985100851018510285103851048510585106851078510885109851108511185112851138511485115851168511785118851198512085121851228512385124851258512685127851288512985130851318513285133851348513585136851378513885139851408514185142851438514485145851468514785148851498515085151851528515385154851558515685157851588515985160851618516285163851648516585166851678516885169851708517185172851738517485175851768517785178851798518085181851828518385184851858518685187851888518985190851918519285193851948519585196851978519885199852008520185202852038520485205852068520785208852098521085211852128521385214852158521685217852188521985220852218522285223852248522585226852278522885229852308523185232852338523485235852368523785238852398524085241852428524385244852458524685247852488524985250852518525285253852548525585256852578525885259852608526185262852638526485265852668526785268852698527085271852728527385274852758527685277852788527985280852818528285283852848528585286852878528885289852908529185292852938529485295852968529785298852998530085301853028530385304853058530685307853088530985310853118531285313853148531585316853178531885319853208532185322853238532485325853268532785328853298533085331853328533385334853358533685337853388533985340853418534285343853448534585346853478534885349853508535185352853538535485355853568535785358853598536085361853628536385364853658536685367853688536985370853718537285373853748537585376853778537885379853808538185382853838538485385853868538785388853898539085391853928539385394853958539685397853988539985400854018540285403854048540585406854078540885409854108541185412854138541485415854168541785418854198542085421854228542385424854258542685427854288542985430854318543285433854348543585436854378543885439854408544185442854438544485445854468544785448854498545085451854528545385454854558545685457854588545985460854618546285463854648546585466854678546885469854708547185472854738547485475854768547785478854798548085481854828548385484854858548685487854888548985490854918549285493854948549585496854978549885499855008550185502855038550485505855068550785508855098551085511855128551385514855158551685517855188551985520855218552285523855248552585526855278552885529855308553185532855338553485535855368553785538855398554085541855428554385544855458554685547855488554985550855518555285553855548555585556855578555885559855608556185562855638556485565855668556785568855698557085571855728557385574855758557685577855788557985580855818558285583855848558585586855878558885589855908559185592855938559485595855968559785598855998560085601856028560385604856058560685607856088560985610856118561285613856148561585616856178561885619856208562185622856238562485625856268562785628856298563085631856328563385634856358563685637856388563985640856418564285643856448564585646856478564885649856508565185652856538565485655856568565785658856598566085661856628566385664856658566685667856688566985670856718567285673856748567585676856778567885679856808568185682856838568485685856868568785688856898569085691856928569385694856958569685697856988569985700857018570285703857048570585706857078570885709857108571185712857138571485715857168571785718857198572085721857228572385724857258572685727857288572985730857318573285733857348573585736857378573885739857408574185742857438574485745857468574785748857498575085751857528575385754857558575685757857588575985760857618576285763857648576585766857678576885769857708577185772857738577485775857768577785778857798578085781857828578385784857858578685787857888578985790857918579285793857948579585796857978579885799858008580185802858038580485805858068580785808858098581085811858128581385814858158581685817858188581985820858218582285823858248582585826858278582885829858308583185832858338583485835858368583785838858398584085841858428584385844858458584685847858488584985850858518585285853858548585585856858578585885859858608586185862858638586485865858668586785868858698587085871858728587385874858758587685877858788587985880858818588285883858848588585886858878588885889858908589185892858938589485895858968589785898858998590085901859028590385904859058590685907859088590985910859118591285913859148591585916859178591885919859208592185922859238592485925859268592785928859298593085931859328593385934859358593685937859388593985940859418594285943859448594585946859478594885949859508595185952859538595485955859568595785958859598596085961859628596385964859658596685967859688596985970859718597285973859748597585976859778597885979859808598185982859838598485985859868598785988859898599085991859928599385994859958599685997859988599986000860018600286003860048600586006860078600886009860108601186012860138601486015860168601786018860198602086021860228602386024860258602686027860288602986030860318603286033860348603586036860378603886039860408604186042860438604486045860468604786048860498605086051860528605386054860558605686057860588605986060860618606286063860648606586066860678606886069860708607186072860738607486075860768607786078860798608086081860828608386084860858608686087860888608986090860918609286093860948609586096860978609886099861008610186102861038610486105861068610786108861098611086111861128611386114861158611686117861188611986120861218612286123861248612586126861278612886129861308613186132861338613486135861368613786138861398614086141861428614386144861458614686147861488614986150861518615286153861548615586156861578615886159861608616186162861638616486165861668616786168861698617086171861728617386174861758617686177861788617986180861818618286183861848618586186861878618886189861908619186192861938619486195861968619786198861998620086201862028620386204862058620686207862088620986210862118621286213862148621586216862178621886219862208622186222862238622486225862268622786228862298623086231862328623386234862358623686237862388623986240862418624286243862448624586246862478624886249862508625186252862538625486255862568625786258862598626086261862628626386264862658626686267862688626986270862718627286273862748627586276862778627886279862808628186282862838628486285862868628786288862898629086291862928629386294862958629686297862988629986300863018630286303863048630586306863078630886309863108631186312863138631486315863168631786318863198632086321863228632386324863258632686327863288632986330863318633286333863348633586336863378633886339863408634186342863438634486345863468634786348863498635086351863528635386354863558635686357863588635986360863618636286363863648636586366863678636886369863708637186372863738637486375863768637786378863798638086381863828638386384863858638686387863888638986390863918639286393863948639586396863978639886399864008640186402864038640486405864068640786408864098641086411864128641386414864158641686417864188641986420864218642286423864248642586426864278642886429864308643186432864338643486435864368643786438864398644086441864428644386444864458644686447864488644986450864518645286453864548645586456864578645886459864608646186462864638646486465864668646786468864698647086471864728647386474864758647686477864788647986480864818648286483864848648586486864878648886489864908649186492864938649486495864968649786498864998650086501865028650386504865058650686507865088650986510865118651286513865148651586516865178651886519865208652186522865238652486525865268652786528865298653086531865328653386534865358653686537865388653986540865418654286543865448654586546865478654886549865508655186552865538655486555865568655786558865598656086561865628656386564865658656686567865688656986570865718657286573865748657586576865778657886579865808658186582865838658486585865868658786588865898659086591865928659386594865958659686597865988659986600866018660286603866048660586606866078660886609866108661186612866138661486615866168661786618866198662086621866228662386624866258662686627866288662986630866318663286633866348663586636866378663886639866408664186642866438664486645866468664786648866498665086651866528665386654866558665686657866588665986660866618666286663866648666586666866678666886669866708667186672866738667486675866768667786678866798668086681866828668386684866858668686687866888668986690866918669286693866948669586696866978669886699867008670186702867038670486705867068670786708867098671086711867128671386714867158671686717867188671986720867218672286723867248672586726867278672886729867308673186732867338673486735867368673786738867398674086741867428674386744867458674686747867488674986750867518675286753867548675586756867578675886759867608676186762867638676486765867668676786768867698677086771867728677386774867758677686777867788677986780867818678286783867848678586786867878678886789867908679186792867938679486795867968679786798867998680086801868028680386804868058680686807868088680986810868118681286813868148681586816868178681886819868208682186822868238682486825868268682786828868298683086831868328683386834868358683686837868388683986840868418684286843868448684586846868478684886849868508685186852868538685486855868568685786858868598686086861868628686386864868658686686867868688686986870868718687286873868748687586876868778687886879868808688186882868838688486885868868688786888868898689086891868928689386894868958689686897868988689986900869018690286903869048690586906869078690886909869108691186912869138691486915869168691786918869198692086921869228692386924869258692686927869288692986930869318693286933869348693586936869378693886939869408694186942869438694486945869468694786948869498695086951869528695386954869558695686957869588695986960869618696286963869648696586966869678696886969869708697186972869738697486975869768697786978869798698086981869828698386984869858698686987869888698986990869918699286993869948699586996869978699886999870008700187002870038700487005870068700787008870098701087011870128701387014870158701687017870188701987020870218702287023870248702587026870278702887029870308703187032870338703487035870368703787038870398704087041870428704387044870458704687047870488704987050870518705287053870548705587056870578705887059870608706187062870638706487065870668706787068870698707087071870728707387074870758707687077870788707987080870818708287083870848708587086870878708887089870908709187092870938709487095870968709787098870998710087101871028710387104871058710687107871088710987110871118711287113871148711587116871178711887119871208712187122871238712487125871268712787128871298713087131871328713387134871358713687137871388713987140871418714287143871448714587146871478714887149871508715187152871538715487155871568715787158871598716087161871628716387164871658716687167871688716987170871718717287173871748717587176871778717887179871808718187182871838718487185871868718787188871898719087191871928719387194871958719687197871988719987200872018720287203872048720587206872078720887209872108721187212872138721487215872168721787218872198722087221872228722387224872258722687227872288722987230872318723287233872348723587236872378723887239872408724187242872438724487245872468724787248872498725087251872528725387254872558725687257872588725987260872618726287263872648726587266872678726887269872708727187272872738727487275872768727787278872798728087281872828728387284872858728687287872888728987290872918729287293872948729587296872978729887299873008730187302873038730487305873068730787308873098731087311873128731387314873158731687317873188731987320873218732287323873248732587326873278732887329873308733187332873338733487335873368733787338873398734087341873428734387344873458734687347873488734987350873518735287353873548735587356873578735887359873608736187362873638736487365873668736787368873698737087371873728737387374873758737687377873788737987380873818738287383873848738587386
  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 opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
  82. // AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  83. // client's request for the AcceptTransitGatewayVpcAttachment 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 AcceptTransitGatewayVpcAttachment for more information on using the AcceptTransitGatewayVpcAttachment
  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 AcceptTransitGatewayVpcAttachmentRequest method.
  98. // req, resp := client.AcceptTransitGatewayVpcAttachmentRequest(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/AcceptTransitGatewayVpcAttachment
  106. func (c *EC2) AcceptTransitGatewayVpcAttachmentRequest(input *AcceptTransitGatewayVpcAttachmentInput) (req *request.Request, output *AcceptTransitGatewayVpcAttachmentOutput) {
  107. op := &request.Operation{
  108. Name: opAcceptTransitGatewayVpcAttachment,
  109. HTTPMethod: "POST",
  110. HTTPPath: "/",
  111. }
  112. if input == nil {
  113. input = &AcceptTransitGatewayVpcAttachmentInput{}
  114. }
  115. output = &AcceptTransitGatewayVpcAttachmentOutput{}
  116. req = c.newRequest(op, input, output)
  117. return
  118. }
  119. // AcceptTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  120. //
  121. // Accepts a request to attach a VPC to a transit gateway.
  122. //
  123. // The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
  124. // to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment
  125. // to reject a VPC attachment request.
  126. //
  127. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  128. // with awserr.Error's Code and Message methods to get detailed information about
  129. // the error.
  130. //
  131. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  132. // API operation AcceptTransitGatewayVpcAttachment for usage and error information.
  133. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
  134. func (c *EC2) AcceptTransitGatewayVpcAttachment(input *AcceptTransitGatewayVpcAttachmentInput) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
  135. req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
  136. return out, req.Send()
  137. }
  138. // AcceptTransitGatewayVpcAttachmentWithContext is the same as AcceptTransitGatewayVpcAttachment with the addition of
  139. // the ability to pass a context and additional request options.
  140. //
  141. // See AcceptTransitGatewayVpcAttachment for details on how to use this API operation.
  142. //
  143. // The context must be non-nil and will be used for request cancellation. If
  144. // the context is nil a panic will occur. In the future the SDK may create
  145. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  146. // for more information on using Contexts.
  147. func (c *EC2) AcceptTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayVpcAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
  148. req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
  149. req.SetContext(ctx)
  150. req.ApplyOptions(opts...)
  151. return out, req.Send()
  152. }
  153. const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
  154. // AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  155. // client's request for the AcceptVpcEndpointConnections operation. The "output" return
  156. // value will be populated with the request's response once the request completes
  157. // successfully.
  158. //
  159. // Use "Send" method on the returned Request to send the API call to the service.
  160. // the "output" return value is not valid until after Send returns without error.
  161. //
  162. // See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
  163. // API call, and error handling.
  164. //
  165. // This method is useful when you want to inject custom logic or configuration
  166. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  167. //
  168. //
  169. // // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
  170. // req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
  171. //
  172. // err := req.Send()
  173. // if err == nil { // resp is now filled
  174. // fmt.Println(resp)
  175. // }
  176. //
  177. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  178. func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
  179. op := &request.Operation{
  180. Name: opAcceptVpcEndpointConnections,
  181. HTTPMethod: "POST",
  182. HTTPPath: "/",
  183. }
  184. if input == nil {
  185. input = &AcceptVpcEndpointConnectionsInput{}
  186. }
  187. output = &AcceptVpcEndpointConnectionsOutput{}
  188. req = c.newRequest(op, input, output)
  189. return
  190. }
  191. // AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  192. //
  193. // Accepts one or more interface VPC endpoint connection requests to your VPC
  194. // endpoint service.
  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 AcceptVpcEndpointConnections for usage and error information.
  202. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
  203. func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
  204. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  205. return out, req.Send()
  206. }
  207. // AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
  208. // the ability to pass a context and additional request options.
  209. //
  210. // See AcceptVpcEndpointConnections 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) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
  217. req, out := c.AcceptVpcEndpointConnectionsRequest(input)
  218. req.SetContext(ctx)
  219. req.ApplyOptions(opts...)
  220. return out, req.Send()
  221. }
  222. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  223. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  224. // client's request for the AcceptVpcPeeringConnection 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 AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
  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 AcceptVpcPeeringConnectionRequest method.
  239. // req, resp := client.AcceptVpcPeeringConnectionRequest(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/AcceptVpcPeeringConnection
  247. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  248. op := &request.Operation{
  249. Name: opAcceptVpcPeeringConnection,
  250. HTTPMethod: "POST",
  251. HTTPPath: "/",
  252. }
  253. if input == nil {
  254. input = &AcceptVpcPeeringConnectionInput{}
  255. }
  256. output = &AcceptVpcPeeringConnectionOutput{}
  257. req = c.newRequest(op, input, output)
  258. return
  259. }
  260. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  261. //
  262. // Accept a VPC peering connection request. To accept a request, the VPC peering
  263. // connection must be in the pending-acceptance state, and you must be the owner
  264. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  265. // VPC peering connection requests.
  266. //
  267. // For an inter-region VPC peering connection request, you must accept the VPC
  268. // peering connection in the region of the accepter VPC.
  269. //
  270. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  271. // with awserr.Error's Code and Message methods to get detailed information about
  272. // the error.
  273. //
  274. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  275. // API operation AcceptVpcPeeringConnection for usage and error information.
  276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  277. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  278. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  279. return out, req.Send()
  280. }
  281. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  282. // the ability to pass a context and additional request options.
  283. //
  284. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  285. //
  286. // The context must be non-nil and will be used for request cancellation. If
  287. // the context is nil a panic will occur. In the future the SDK may create
  288. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  289. // for more information on using Contexts.
  290. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  291. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  292. req.SetContext(ctx)
  293. req.ApplyOptions(opts...)
  294. return out, req.Send()
  295. }
  296. const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
  297. // AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
  298. // client's request for the AdvertiseByoipCidr operation. The "output" return
  299. // value will be populated with the request's response once the request completes
  300. // successfully.
  301. //
  302. // Use "Send" method on the returned Request to send the API call to the service.
  303. // the "output" return value is not valid until after Send returns without error.
  304. //
  305. // See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
  306. // API call, and error handling.
  307. //
  308. // This method is useful when you want to inject custom logic or configuration
  309. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  310. //
  311. //
  312. // // Example sending a request using the AdvertiseByoipCidrRequest method.
  313. // req, resp := client.AdvertiseByoipCidrRequest(params)
  314. //
  315. // err := req.Send()
  316. // if err == nil { // resp is now filled
  317. // fmt.Println(resp)
  318. // }
  319. //
  320. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
  321. func (c *EC2) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
  322. op := &request.Operation{
  323. Name: opAdvertiseByoipCidr,
  324. HTTPMethod: "POST",
  325. HTTPPath: "/",
  326. }
  327. if input == nil {
  328. input = &AdvertiseByoipCidrInput{}
  329. }
  330. output = &AdvertiseByoipCidrOutput{}
  331. req = c.newRequest(op, input, output)
  332. return
  333. }
  334. // AdvertiseByoipCidr API operation for Amazon Elastic Compute Cloud.
  335. //
  336. // Advertises an IPv4 address range that is provisioned for use with your AWS
  337. // resources through bring your own IP addresses (BYOIP).
  338. //
  339. // You can perform this operation at most once every 10 seconds, even if you
  340. // specify different address ranges each time.
  341. //
  342. // We recommend that you stop advertising the BYOIP CIDR from other locations
  343. // when you advertise it from AWS. To minimize down time, you can configure
  344. // your AWS resources to use an address from a BYOIP CIDR before it is advertised,
  345. // and then simultaneously stop advertising it from the current location and
  346. // start advertising it through AWS.
  347. //
  348. // It can take a few minutes before traffic to the specified addresses starts
  349. // routing to AWS because of BGP propagation delays.
  350. //
  351. // To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
  352. //
  353. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  354. // with awserr.Error's Code and Message methods to get detailed information about
  355. // the error.
  356. //
  357. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  358. // API operation AdvertiseByoipCidr for usage and error information.
  359. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
  360. func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
  361. req, out := c.AdvertiseByoipCidrRequest(input)
  362. return out, req.Send()
  363. }
  364. // AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
  365. // the ability to pass a context and additional request options.
  366. //
  367. // See AdvertiseByoipCidr for details on how to use this API operation.
  368. //
  369. // The context must be non-nil and will be used for request cancellation. If
  370. // the context is nil a panic will occur. In the future the SDK may create
  371. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  372. // for more information on using Contexts.
  373. func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
  374. req, out := c.AdvertiseByoipCidrRequest(input)
  375. req.SetContext(ctx)
  376. req.ApplyOptions(opts...)
  377. return out, req.Send()
  378. }
  379. const opAllocateAddress = "AllocateAddress"
  380. // AllocateAddressRequest generates a "aws/request.Request" representing the
  381. // client's request for the AllocateAddress operation. The "output" return
  382. // value will be populated with the request's response once the request completes
  383. // successfully.
  384. //
  385. // Use "Send" method on the returned Request to send the API call to the service.
  386. // the "output" return value is not valid until after Send returns without error.
  387. //
  388. // See AllocateAddress for more information on using the AllocateAddress
  389. // API call, and error handling.
  390. //
  391. // This method is useful when you want to inject custom logic or configuration
  392. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  393. //
  394. //
  395. // // Example sending a request using the AllocateAddressRequest method.
  396. // req, resp := client.AllocateAddressRequest(params)
  397. //
  398. // err := req.Send()
  399. // if err == nil { // resp is now filled
  400. // fmt.Println(resp)
  401. // }
  402. //
  403. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  404. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  405. op := &request.Operation{
  406. Name: opAllocateAddress,
  407. HTTPMethod: "POST",
  408. HTTPPath: "/",
  409. }
  410. if input == nil {
  411. input = &AllocateAddressInput{}
  412. }
  413. output = &AllocateAddressOutput{}
  414. req = c.newRequest(op, input, output)
  415. return
  416. }
  417. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  418. //
  419. // Allocates an Elastic IP address to your AWS account. After you allocate the
  420. // Elastic IP address you can associate it with an instance or network interface.
  421. // After you release an Elastic IP address, it is released to the IP address
  422. // pool and can be allocated to a different AWS account.
  423. //
  424. // You can allocate an Elastic IP address from an address pool owned by AWS
  425. // or from an address pool created from a public IPv4 address range that you
  426. // have brought to AWS for use with your AWS resources using bring your own
  427. // IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses
  428. // (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
  429. // in the Amazon Elastic Compute Cloud User Guide.
  430. //
  431. // [EC2-VPC] If you release an Elastic IP address, you might be able to recover
  432. // it. You cannot recover an Elastic IP address that you released after it is
  433. // allocated to another AWS account. You cannot recover an Elastic IP address
  434. // for EC2-Classic. To attempt to recover an Elastic IP address that you released,
  435. // specify it in this operation.
  436. //
  437. // An Elastic IP address is for use either in the EC2-Classic platform or in
  438. // a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
  439. // per region and 5 Elastic IP addresses for EC2-VPC per region.
  440. //
  441. // For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  442. // in the Amazon Elastic Compute Cloud User Guide.
  443. //
  444. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  445. // with awserr.Error's Code and Message methods to get detailed information about
  446. // the error.
  447. //
  448. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  449. // API operation AllocateAddress for usage and error information.
  450. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  451. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  452. req, out := c.AllocateAddressRequest(input)
  453. return out, req.Send()
  454. }
  455. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  456. // the ability to pass a context and additional request options.
  457. //
  458. // See AllocateAddress for details on how to use this API operation.
  459. //
  460. // The context must be non-nil and will be used for request cancellation. If
  461. // the context is nil a panic will occur. In the future the SDK may create
  462. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  463. // for more information on using Contexts.
  464. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  465. req, out := c.AllocateAddressRequest(input)
  466. req.SetContext(ctx)
  467. req.ApplyOptions(opts...)
  468. return out, req.Send()
  469. }
  470. const opAllocateHosts = "AllocateHosts"
  471. // AllocateHostsRequest generates a "aws/request.Request" representing the
  472. // client's request for the AllocateHosts operation. The "output" return
  473. // value will be populated with the request's response once the request completes
  474. // successfully.
  475. //
  476. // Use "Send" method on the returned Request to send the API call to the service.
  477. // the "output" return value is not valid until after Send returns without error.
  478. //
  479. // See AllocateHosts for more information on using the AllocateHosts
  480. // API call, and error handling.
  481. //
  482. // This method is useful when you want to inject custom logic or configuration
  483. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  484. //
  485. //
  486. // // Example sending a request using the AllocateHostsRequest method.
  487. // req, resp := client.AllocateHostsRequest(params)
  488. //
  489. // err := req.Send()
  490. // if err == nil { // resp is now filled
  491. // fmt.Println(resp)
  492. // }
  493. //
  494. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  495. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  496. op := &request.Operation{
  497. Name: opAllocateHosts,
  498. HTTPMethod: "POST",
  499. HTTPPath: "/",
  500. }
  501. if input == nil {
  502. input = &AllocateHostsInput{}
  503. }
  504. output = &AllocateHostsOutput{}
  505. req = c.newRequest(op, input, output)
  506. return
  507. }
  508. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  509. //
  510. // Allocates a Dedicated Host to your account. At a minimum, specify the instance
  511. // size type, Availability Zone, and quantity of hosts to allocate.
  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 AllocateHosts for usage and error information.
  519. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  520. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  521. req, out := c.AllocateHostsRequest(input)
  522. return out, req.Send()
  523. }
  524. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  525. // the ability to pass a context and additional request options.
  526. //
  527. // See AllocateHosts 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) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  534. req, out := c.AllocateHostsRequest(input)
  535. req.SetContext(ctx)
  536. req.ApplyOptions(opts...)
  537. return out, req.Send()
  538. }
  539. const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
  540. // ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  541. // client's request for the ApplySecurityGroupsToClientVpnTargetNetwork 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 ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
  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 ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
  556. // req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(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/ApplySecurityGroupsToClientVpnTargetNetwork
  564. func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
  565. op := &request.Operation{
  566. Name: opApplySecurityGroupsToClientVpnTargetNetwork,
  567. HTTPMethod: "POST",
  568. HTTPPath: "/",
  569. }
  570. if input == nil {
  571. input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
  572. }
  573. output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
  574. req = c.newRequest(op, input, output)
  575. return
  576. }
  577. // ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  578. //
  579. // Applies a security group to the association between the target network and
  580. // the Client VPN endpoint. This action replaces the existing security groups
  581. // with the specified security groups.
  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 ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
  589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
  590. func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
  591. req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
  592. return out, req.Send()
  593. }
  594. // ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
  595. // the ability to pass a context and additional request options.
  596. //
  597. // See ApplySecurityGroupsToClientVpnTargetNetwork 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) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
  604. req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
  605. req.SetContext(ctx)
  606. req.ApplyOptions(opts...)
  607. return out, req.Send()
  608. }
  609. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  610. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  611. // client's request for the AssignIpv6Addresses 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 AssignIpv6Addresses for more information on using the AssignIpv6Addresses
  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 AssignIpv6AddressesRequest method.
  626. // req, resp := client.AssignIpv6AddressesRequest(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/AssignIpv6Addresses
  634. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  635. op := &request.Operation{
  636. Name: opAssignIpv6Addresses,
  637. HTTPMethod: "POST",
  638. HTTPPath: "/",
  639. }
  640. if input == nil {
  641. input = &AssignIpv6AddressesInput{}
  642. }
  643. output = &AssignIpv6AddressesOutput{}
  644. req = c.newRequest(op, input, output)
  645. return
  646. }
  647. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  648. //
  649. // Assigns one or more IPv6 addresses to the specified network interface. You
  650. // can specify one or more specific IPv6 addresses, or you can specify the number
  651. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  652. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  653. // as you can assign private IPv4 addresses, and the limit varies per instance
  654. // type. For information, see IP Addresses Per Network Interface Per Instance
  655. // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  656. // in the Amazon Elastic Compute Cloud User Guide.
  657. //
  658. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  659. // with awserr.Error's Code and Message methods to get detailed information about
  660. // the error.
  661. //
  662. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  663. // API operation AssignIpv6Addresses for usage and error information.
  664. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  665. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  666. req, out := c.AssignIpv6AddressesRequest(input)
  667. return out, req.Send()
  668. }
  669. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  670. // the ability to pass a context and additional request options.
  671. //
  672. // See AssignIpv6Addresses for details on how to use this API operation.
  673. //
  674. // The context must be non-nil and will be used for request cancellation. If
  675. // the context is nil a panic will occur. In the future the SDK may create
  676. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  677. // for more information on using Contexts.
  678. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  679. req, out := c.AssignIpv6AddressesRequest(input)
  680. req.SetContext(ctx)
  681. req.ApplyOptions(opts...)
  682. return out, req.Send()
  683. }
  684. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  685. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  686. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  687. // value will be populated with the request's response once the request completes
  688. // successfully.
  689. //
  690. // Use "Send" method on the returned Request to send the API call to the service.
  691. // the "output" return value is not valid until after Send returns without error.
  692. //
  693. // See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
  694. // API call, and error handling.
  695. //
  696. // This method is useful when you want to inject custom logic or configuration
  697. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  698. //
  699. //
  700. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  701. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  702. //
  703. // err := req.Send()
  704. // if err == nil { // resp is now filled
  705. // fmt.Println(resp)
  706. // }
  707. //
  708. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  709. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  710. op := &request.Operation{
  711. Name: opAssignPrivateIpAddresses,
  712. HTTPMethod: "POST",
  713. HTTPPath: "/",
  714. }
  715. if input == nil {
  716. input = &AssignPrivateIpAddressesInput{}
  717. }
  718. output = &AssignPrivateIpAddressesOutput{}
  719. req = c.newRequest(op, input, output)
  720. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  721. return
  722. }
  723. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  724. //
  725. // Assigns one or more secondary private IP addresses to the specified network
  726. // interface.
  727. //
  728. // You can specify one or more specific secondary IP addresses, or you can specify
  729. // the number of secondary IP addresses to be automatically assigned within
  730. // the subnet's CIDR block range. The number of secondary IP addresses that
  731. // you can assign to an instance varies by instance type. For information about
  732. // instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  733. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  734. // Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  735. // in the Amazon Elastic Compute Cloud User Guide.
  736. //
  737. // When you move a secondary private IP address to another network interface,
  738. // any Elastic IP address that is associated with the IP address is also moved.
  739. //
  740. // Remapping an IP address is an asynchronous operation. When you move an IP
  741. // address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
  742. // in the instance metadata to confirm that the remapping is complete.
  743. //
  744. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  745. // with awserr.Error's Code and Message methods to get detailed information about
  746. // the error.
  747. //
  748. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  749. // API operation AssignPrivateIpAddresses for usage and error information.
  750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  751. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  752. req, out := c.AssignPrivateIpAddressesRequest(input)
  753. return out, req.Send()
  754. }
  755. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  756. // the ability to pass a context and additional request options.
  757. //
  758. // See AssignPrivateIpAddresses for details on how to use this API operation.
  759. //
  760. // The context must be non-nil and will be used for request cancellation. If
  761. // the context is nil a panic will occur. In the future the SDK may create
  762. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  763. // for more information on using Contexts.
  764. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  765. req, out := c.AssignPrivateIpAddressesRequest(input)
  766. req.SetContext(ctx)
  767. req.ApplyOptions(opts...)
  768. return out, req.Send()
  769. }
  770. const opAssociateAddress = "AssociateAddress"
  771. // AssociateAddressRequest generates a "aws/request.Request" representing the
  772. // client's request for the AssociateAddress operation. The "output" return
  773. // value will be populated with the request's response once the request completes
  774. // successfully.
  775. //
  776. // Use "Send" method on the returned Request to send the API call to the service.
  777. // the "output" return value is not valid until after Send returns without error.
  778. //
  779. // See AssociateAddress for more information on using the AssociateAddress
  780. // API call, and error handling.
  781. //
  782. // This method is useful when you want to inject custom logic or configuration
  783. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  784. //
  785. //
  786. // // Example sending a request using the AssociateAddressRequest method.
  787. // req, resp := client.AssociateAddressRequest(params)
  788. //
  789. // err := req.Send()
  790. // if err == nil { // resp is now filled
  791. // fmt.Println(resp)
  792. // }
  793. //
  794. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  795. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  796. op := &request.Operation{
  797. Name: opAssociateAddress,
  798. HTTPMethod: "POST",
  799. HTTPPath: "/",
  800. }
  801. if input == nil {
  802. input = &AssociateAddressInput{}
  803. }
  804. output = &AssociateAddressOutput{}
  805. req = c.newRequest(op, input, output)
  806. return
  807. }
  808. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  809. //
  810. // Associates an Elastic IP address with an instance or a network interface.
  811. // Before you can use an Elastic IP address, you must allocate it to your account.
  812. //
  813. // An Elastic IP address is for use in either the EC2-Classic platform or in
  814. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  815. // in the Amazon Elastic Compute Cloud User Guide.
  816. //
  817. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  818. // already associated with a different instance, it is disassociated from that
  819. // instance and associated with the specified instance. If you associate an
  820. // Elastic IP address with an instance that has an existing Elastic IP address,
  821. // the existing address is disassociated from the instance, but remains allocated
  822. // to your account.
  823. //
  824. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  825. // the Elastic IP address is associated with the primary IP address. If the
  826. // Elastic IP address is already associated with a different instance or a network
  827. // interface, you get an error unless you allow reassociation. You cannot associate
  828. // an Elastic IP address with an instance or network interface that has an existing
  829. // Elastic IP address.
  830. //
  831. // This is an idempotent operation. If you perform the operation more than once,
  832. // Amazon EC2 doesn't return an error, and you may be charged for each time
  833. // the Elastic IP address is remapped to the same instance. For more information,
  834. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  835. //
  836. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  837. // with awserr.Error's Code and Message methods to get detailed information about
  838. // the error.
  839. //
  840. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  841. // API operation AssociateAddress for usage and error information.
  842. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  843. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  844. req, out := c.AssociateAddressRequest(input)
  845. return out, req.Send()
  846. }
  847. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  848. // the ability to pass a context and additional request options.
  849. //
  850. // See AssociateAddress for details on how to use this API operation.
  851. //
  852. // The context must be non-nil and will be used for request cancellation. If
  853. // the context is nil a panic will occur. In the future the SDK may create
  854. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  855. // for more information on using Contexts.
  856. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  857. req, out := c.AssociateAddressRequest(input)
  858. req.SetContext(ctx)
  859. req.ApplyOptions(opts...)
  860. return out, req.Send()
  861. }
  862. const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
  863. // AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  864. // client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
  865. // value will be populated with the request's response once the request completes
  866. // successfully.
  867. //
  868. // Use "Send" method on the returned Request to send the API call to the service.
  869. // the "output" return value is not valid until after Send returns without error.
  870. //
  871. // See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
  872. // API call, and error handling.
  873. //
  874. // This method is useful when you want to inject custom logic or configuration
  875. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  876. //
  877. //
  878. // // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
  879. // req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
  880. //
  881. // err := req.Send()
  882. // if err == nil { // resp is now filled
  883. // fmt.Println(resp)
  884. // }
  885. //
  886. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
  887. func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
  888. op := &request.Operation{
  889. Name: opAssociateClientVpnTargetNetwork,
  890. HTTPMethod: "POST",
  891. HTTPPath: "/",
  892. }
  893. if input == nil {
  894. input = &AssociateClientVpnTargetNetworkInput{}
  895. }
  896. output = &AssociateClientVpnTargetNetworkOutput{}
  897. req = c.newRequest(op, input, output)
  898. return
  899. }
  900. // AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  901. //
  902. // Associates a target network with a Client VPN endpoint. A target network
  903. // is a subnet in a VPC. You can associate multiple subnets from the same VPC
  904. // with a Client VPN endpoint. You can associate only one subnet in each Availability
  905. // Zone. We recommend that you associate at least two subnets to provide Availability
  906. // Zone redundancy.
  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 AssociateClientVpnTargetNetwork for usage and error information.
  914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
  915. func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
  916. req, out := c.AssociateClientVpnTargetNetworkRequest(input)
  917. return out, req.Send()
  918. }
  919. // AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
  920. // the ability to pass a context and additional request options.
  921. //
  922. // See AssociateClientVpnTargetNetwork 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) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
  929. req, out := c.AssociateClientVpnTargetNetworkRequest(input)
  930. req.SetContext(ctx)
  931. req.ApplyOptions(opts...)
  932. return out, req.Send()
  933. }
  934. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  935. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  936. // client's request for the AssociateDhcpOptions 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 AssociateDhcpOptions for more information on using the AssociateDhcpOptions
  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 AssociateDhcpOptionsRequest method.
  951. // req, resp := client.AssociateDhcpOptionsRequest(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/AssociateDhcpOptions
  959. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  960. op := &request.Operation{
  961. Name: opAssociateDhcpOptions,
  962. HTTPMethod: "POST",
  963. HTTPPath: "/",
  964. }
  965. if input == nil {
  966. input = &AssociateDhcpOptionsInput{}
  967. }
  968. output = &AssociateDhcpOptionsOutput{}
  969. req = c.newRequest(op, input, output)
  970. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  971. return
  972. }
  973. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  974. //
  975. // Associates a set of DHCP options (that you've previously created) with the
  976. // specified VPC, or associates no DHCP options with the VPC.
  977. //
  978. // After you associate the options with the VPC, any existing instances and
  979. // all new instances that you launch in that VPC use the options. You don't
  980. // need to restart or relaunch the instances. They automatically pick up the
  981. // changes within a few hours, depending on how frequently the instance renews
  982. // its DHCP lease. You can explicitly renew the lease using the operating system
  983. // on the instance.
  984. //
  985. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  986. // in the Amazon Virtual Private Cloud User Guide.
  987. //
  988. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  989. // with awserr.Error's Code and Message methods to get detailed information about
  990. // the error.
  991. //
  992. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  993. // API operation AssociateDhcpOptions for usage and error information.
  994. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  995. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  996. req, out := c.AssociateDhcpOptionsRequest(input)
  997. return out, req.Send()
  998. }
  999. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  1000. // the ability to pass a context and additional request options.
  1001. //
  1002. // See AssociateDhcpOptions for details on how to use this API operation.
  1003. //
  1004. // The context must be non-nil and will be used for request cancellation. If
  1005. // the context is nil a panic will occur. In the future the SDK may create
  1006. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1007. // for more information on using Contexts.
  1008. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  1009. req, out := c.AssociateDhcpOptionsRequest(input)
  1010. req.SetContext(ctx)
  1011. req.ApplyOptions(opts...)
  1012. return out, req.Send()
  1013. }
  1014. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  1015. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  1016. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  1017. // value will be populated with the request's response once the request completes
  1018. // successfully.
  1019. //
  1020. // Use "Send" method on the returned Request to send the API call to the service.
  1021. // the "output" return value is not valid until after Send returns without error.
  1022. //
  1023. // See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
  1024. // API call, and error handling.
  1025. //
  1026. // This method is useful when you want to inject custom logic or configuration
  1027. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1028. //
  1029. //
  1030. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  1031. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  1032. //
  1033. // err := req.Send()
  1034. // if err == nil { // resp is now filled
  1035. // fmt.Println(resp)
  1036. // }
  1037. //
  1038. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  1039. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  1040. op := &request.Operation{
  1041. Name: opAssociateIamInstanceProfile,
  1042. HTTPMethod: "POST",
  1043. HTTPPath: "/",
  1044. }
  1045. if input == nil {
  1046. input = &AssociateIamInstanceProfileInput{}
  1047. }
  1048. output = &AssociateIamInstanceProfileOutput{}
  1049. req = c.newRequest(op, input, output)
  1050. return
  1051. }
  1052. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  1053. //
  1054. // Associates an IAM instance profile with a running or stopped instance. You
  1055. // cannot associate more than one IAM instance profile with an instance.
  1056. //
  1057. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1058. // with awserr.Error's Code and Message methods to get detailed information about
  1059. // the error.
  1060. //
  1061. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1062. // API operation AssociateIamInstanceProfile for usage and error information.
  1063. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  1064. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  1065. req, out := c.AssociateIamInstanceProfileRequest(input)
  1066. return out, req.Send()
  1067. }
  1068. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  1069. // the ability to pass a context and additional request options.
  1070. //
  1071. // See AssociateIamInstanceProfile for details on how to use this API operation.
  1072. //
  1073. // The context must be non-nil and will be used for request cancellation. If
  1074. // the context is nil a panic will occur. In the future the SDK may create
  1075. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1076. // for more information on using Contexts.
  1077. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  1078. req, out := c.AssociateIamInstanceProfileRequest(input)
  1079. req.SetContext(ctx)
  1080. req.ApplyOptions(opts...)
  1081. return out, req.Send()
  1082. }
  1083. const opAssociateRouteTable = "AssociateRouteTable"
  1084. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  1085. // client's request for the AssociateRouteTable operation. The "output" return
  1086. // value will be populated with the request's response once the request completes
  1087. // successfully.
  1088. //
  1089. // Use "Send" method on the returned Request to send the API call to the service.
  1090. // the "output" return value is not valid until after Send returns without error.
  1091. //
  1092. // See AssociateRouteTable for more information on using the AssociateRouteTable
  1093. // API call, and error handling.
  1094. //
  1095. // This method is useful when you want to inject custom logic or configuration
  1096. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1097. //
  1098. //
  1099. // // Example sending a request using the AssociateRouteTableRequest method.
  1100. // req, resp := client.AssociateRouteTableRequest(params)
  1101. //
  1102. // err := req.Send()
  1103. // if err == nil { // resp is now filled
  1104. // fmt.Println(resp)
  1105. // }
  1106. //
  1107. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  1108. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  1109. op := &request.Operation{
  1110. Name: opAssociateRouteTable,
  1111. HTTPMethod: "POST",
  1112. HTTPPath: "/",
  1113. }
  1114. if input == nil {
  1115. input = &AssociateRouteTableInput{}
  1116. }
  1117. output = &AssociateRouteTableOutput{}
  1118. req = c.newRequest(op, input, output)
  1119. return
  1120. }
  1121. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  1122. //
  1123. // Associates a subnet with a route table. The subnet and route table must be
  1124. // in the same VPC. This association causes traffic originating from the subnet
  1125. // to be routed according to the routes in the route table. The action returns
  1126. // an association ID, which you need in order to disassociate the route table
  1127. // from the subnet later. A route table can be associated with multiple subnets.
  1128. //
  1129. // For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  1130. // in the Amazon Virtual Private Cloud User Guide.
  1131. //
  1132. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1133. // with awserr.Error's Code and Message methods to get detailed information about
  1134. // the error.
  1135. //
  1136. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1137. // API operation AssociateRouteTable for usage and error information.
  1138. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  1139. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  1140. req, out := c.AssociateRouteTableRequest(input)
  1141. return out, req.Send()
  1142. }
  1143. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  1144. // the ability to pass a context and additional request options.
  1145. //
  1146. // See AssociateRouteTable for details on how to use this API operation.
  1147. //
  1148. // The context must be non-nil and will be used for request cancellation. If
  1149. // the context is nil a panic will occur. In the future the SDK may create
  1150. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1151. // for more information on using Contexts.
  1152. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  1153. req, out := c.AssociateRouteTableRequest(input)
  1154. req.SetContext(ctx)
  1155. req.ApplyOptions(opts...)
  1156. return out, req.Send()
  1157. }
  1158. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  1159. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  1160. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  1161. // value will be populated with the request's response once the request completes
  1162. // successfully.
  1163. //
  1164. // Use "Send" method on the returned Request to send the API call to the service.
  1165. // the "output" return value is not valid until after Send returns without error.
  1166. //
  1167. // See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
  1168. // API call, and error handling.
  1169. //
  1170. // This method is useful when you want to inject custom logic or configuration
  1171. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1172. //
  1173. //
  1174. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  1175. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  1176. //
  1177. // err := req.Send()
  1178. // if err == nil { // resp is now filled
  1179. // fmt.Println(resp)
  1180. // }
  1181. //
  1182. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  1183. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  1184. op := &request.Operation{
  1185. Name: opAssociateSubnetCidrBlock,
  1186. HTTPMethod: "POST",
  1187. HTTPPath: "/",
  1188. }
  1189. if input == nil {
  1190. input = &AssociateSubnetCidrBlockInput{}
  1191. }
  1192. output = &AssociateSubnetCidrBlockOutput{}
  1193. req = c.newRequest(op, input, output)
  1194. return
  1195. }
  1196. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  1197. //
  1198. // Associates a CIDR block with your subnet. You can only associate a single
  1199. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  1200. // of /64.
  1201. //
  1202. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1203. // with awserr.Error's Code and Message methods to get detailed information about
  1204. // the error.
  1205. //
  1206. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1207. // API operation AssociateSubnetCidrBlock for usage and error information.
  1208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  1209. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  1210. req, out := c.AssociateSubnetCidrBlockRequest(input)
  1211. return out, req.Send()
  1212. }
  1213. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  1214. // the ability to pass a context and additional request options.
  1215. //
  1216. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  1217. //
  1218. // The context must be non-nil and will be used for request cancellation. If
  1219. // the context is nil a panic will occur. In the future the SDK may create
  1220. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1221. // for more information on using Contexts.
  1222. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  1223. req, out := c.AssociateSubnetCidrBlockRequest(input)
  1224. req.SetContext(ctx)
  1225. req.ApplyOptions(opts...)
  1226. return out, req.Send()
  1227. }
  1228. const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
  1229. // AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  1230. // client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
  1231. // value will be populated with the request's response once the request completes
  1232. // successfully.
  1233. //
  1234. // Use "Send" method on the returned Request to send the API call to the service.
  1235. // the "output" return value is not valid until after Send returns without error.
  1236. //
  1237. // See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
  1238. // API call, and error handling.
  1239. //
  1240. // This method is useful when you want to inject custom logic or configuration
  1241. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1242. //
  1243. //
  1244. // // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
  1245. // req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
  1246. //
  1247. // err := req.Send()
  1248. // if err == nil { // resp is now filled
  1249. // fmt.Println(resp)
  1250. // }
  1251. //
  1252. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
  1253. func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
  1254. op := &request.Operation{
  1255. Name: opAssociateTransitGatewayRouteTable,
  1256. HTTPMethod: "POST",
  1257. HTTPPath: "/",
  1258. }
  1259. if input == nil {
  1260. input = &AssociateTransitGatewayRouteTableInput{}
  1261. }
  1262. output = &AssociateTransitGatewayRouteTableOutput{}
  1263. req = c.newRequest(op, input, output)
  1264. return
  1265. }
  1266. // AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  1267. //
  1268. // Associates the specified attachment with the specified transit gateway route
  1269. // table. You can associate only one route table with an attachment.
  1270. //
  1271. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1272. // with awserr.Error's Code and Message methods to get detailed information about
  1273. // the error.
  1274. //
  1275. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1276. // API operation AssociateTransitGatewayRouteTable for usage and error information.
  1277. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
  1278. func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
  1279. req, out := c.AssociateTransitGatewayRouteTableRequest(input)
  1280. return out, req.Send()
  1281. }
  1282. // AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
  1283. // the ability to pass a context and additional request options.
  1284. //
  1285. // See AssociateTransitGatewayRouteTable for details on how to use this API operation.
  1286. //
  1287. // The context must be non-nil and will be used for request cancellation. If
  1288. // the context is nil a panic will occur. In the future the SDK may create
  1289. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1290. // for more information on using Contexts.
  1291. func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
  1292. req, out := c.AssociateTransitGatewayRouteTableRequest(input)
  1293. req.SetContext(ctx)
  1294. req.ApplyOptions(opts...)
  1295. return out, req.Send()
  1296. }
  1297. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  1298. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  1299. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  1300. // value will be populated with the request's response once the request completes
  1301. // successfully.
  1302. //
  1303. // Use "Send" method on the returned Request to send the API call to the service.
  1304. // the "output" return value is not valid until after Send returns without error.
  1305. //
  1306. // See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
  1307. // API call, and error handling.
  1308. //
  1309. // This method is useful when you want to inject custom logic or configuration
  1310. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1311. //
  1312. //
  1313. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  1314. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  1315. //
  1316. // err := req.Send()
  1317. // if err == nil { // resp is now filled
  1318. // fmt.Println(resp)
  1319. // }
  1320. //
  1321. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  1322. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  1323. op := &request.Operation{
  1324. Name: opAssociateVpcCidrBlock,
  1325. HTTPMethod: "POST",
  1326. HTTPPath: "/",
  1327. }
  1328. if input == nil {
  1329. input = &AssociateVpcCidrBlockInput{}
  1330. }
  1331. output = &AssociateVpcCidrBlockOutput{}
  1332. req = c.newRequest(op, input, output)
  1333. return
  1334. }
  1335. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  1336. //
  1337. // Associates a CIDR block with your VPC. You can associate a secondary IPv4
  1338. // CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
  1339. // IPv6 CIDR block size is fixed at /56.
  1340. //
  1341. // For more information about associating CIDR blocks with your VPC and applicable
  1342. // restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing)
  1343. // in the Amazon Virtual Private Cloud User Guide.
  1344. //
  1345. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1346. // with awserr.Error's Code and Message methods to get detailed information about
  1347. // the error.
  1348. //
  1349. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1350. // API operation AssociateVpcCidrBlock for usage and error information.
  1351. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  1352. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  1353. req, out := c.AssociateVpcCidrBlockRequest(input)
  1354. return out, req.Send()
  1355. }
  1356. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  1357. // the ability to pass a context and additional request options.
  1358. //
  1359. // See AssociateVpcCidrBlock for details on how to use this API operation.
  1360. //
  1361. // The context must be non-nil and will be used for request cancellation. If
  1362. // the context is nil a panic will occur. In the future the SDK may create
  1363. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1364. // for more information on using Contexts.
  1365. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  1366. req, out := c.AssociateVpcCidrBlockRequest(input)
  1367. req.SetContext(ctx)
  1368. req.ApplyOptions(opts...)
  1369. return out, req.Send()
  1370. }
  1371. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  1372. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  1373. // client's request for the AttachClassicLinkVpc operation. The "output" return
  1374. // value will be populated with the request's response once the request completes
  1375. // successfully.
  1376. //
  1377. // Use "Send" method on the returned Request to send the API call to the service.
  1378. // the "output" return value is not valid until after Send returns without error.
  1379. //
  1380. // See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
  1381. // API call, and error handling.
  1382. //
  1383. // This method is useful when you want to inject custom logic or configuration
  1384. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1385. //
  1386. //
  1387. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  1388. // req, resp := client.AttachClassicLinkVpcRequest(params)
  1389. //
  1390. // err := req.Send()
  1391. // if err == nil { // resp is now filled
  1392. // fmt.Println(resp)
  1393. // }
  1394. //
  1395. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1396. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  1397. op := &request.Operation{
  1398. Name: opAttachClassicLinkVpc,
  1399. HTTPMethod: "POST",
  1400. HTTPPath: "/",
  1401. }
  1402. if input == nil {
  1403. input = &AttachClassicLinkVpcInput{}
  1404. }
  1405. output = &AttachClassicLinkVpcOutput{}
  1406. req = c.newRequest(op, input, output)
  1407. return
  1408. }
  1409. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  1410. //
  1411. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  1412. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  1413. // to more than one VPC at a time. You can only link an instance that's in the
  1414. // running state. An instance is automatically unlinked from a VPC when it's
  1415. // stopped - you can link it to the VPC again when you restart it.
  1416. //
  1417. // After you've linked an instance, you cannot change the VPC security groups
  1418. // that are associated with it. To change the security groups, you must first
  1419. // unlink the instance, and then link it again.
  1420. //
  1421. // Linking your instance to a VPC is sometimes referred to as attaching your
  1422. // instance.
  1423. //
  1424. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1425. // with awserr.Error's Code and Message methods to get detailed information about
  1426. // the error.
  1427. //
  1428. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1429. // API operation AttachClassicLinkVpc for usage and error information.
  1430. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  1431. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  1432. req, out := c.AttachClassicLinkVpcRequest(input)
  1433. return out, req.Send()
  1434. }
  1435. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  1436. // the ability to pass a context and additional request options.
  1437. //
  1438. // See AttachClassicLinkVpc for details on how to use this API operation.
  1439. //
  1440. // The context must be non-nil and will be used for request cancellation. If
  1441. // the context is nil a panic will occur. In the future the SDK may create
  1442. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1443. // for more information on using Contexts.
  1444. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  1445. req, out := c.AttachClassicLinkVpcRequest(input)
  1446. req.SetContext(ctx)
  1447. req.ApplyOptions(opts...)
  1448. return out, req.Send()
  1449. }
  1450. const opAttachInternetGateway = "AttachInternetGateway"
  1451. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  1452. // client's request for the AttachInternetGateway operation. The "output" return
  1453. // value will be populated with the request's response once the request completes
  1454. // successfully.
  1455. //
  1456. // Use "Send" method on the returned Request to send the API call to the service.
  1457. // the "output" return value is not valid until after Send returns without error.
  1458. //
  1459. // See AttachInternetGateway for more information on using the AttachInternetGateway
  1460. // API call, and error handling.
  1461. //
  1462. // This method is useful when you want to inject custom logic or configuration
  1463. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1464. //
  1465. //
  1466. // // Example sending a request using the AttachInternetGatewayRequest method.
  1467. // req, resp := client.AttachInternetGatewayRequest(params)
  1468. //
  1469. // err := req.Send()
  1470. // if err == nil { // resp is now filled
  1471. // fmt.Println(resp)
  1472. // }
  1473. //
  1474. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1475. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1476. op := &request.Operation{
  1477. Name: opAttachInternetGateway,
  1478. HTTPMethod: "POST",
  1479. HTTPPath: "/",
  1480. }
  1481. if input == nil {
  1482. input = &AttachInternetGatewayInput{}
  1483. }
  1484. output = &AttachInternetGatewayOutput{}
  1485. req = c.newRequest(op, input, output)
  1486. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1487. return
  1488. }
  1489. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1490. //
  1491. // Attaches an internet gateway to a VPC, enabling connectivity between the
  1492. // internet and the VPC. For more information about your VPC and internet gateway,
  1493. // see the Amazon Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1494. //
  1495. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1496. // with awserr.Error's Code and Message methods to get detailed information about
  1497. // the error.
  1498. //
  1499. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1500. // API operation AttachInternetGateway for usage and error information.
  1501. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1502. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1503. req, out := c.AttachInternetGatewayRequest(input)
  1504. return out, req.Send()
  1505. }
  1506. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1507. // the ability to pass a context and additional request options.
  1508. //
  1509. // See AttachInternetGateway for details on how to use this API operation.
  1510. //
  1511. // The context must be non-nil and will be used for request cancellation. If
  1512. // the context is nil a panic will occur. In the future the SDK may create
  1513. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1514. // for more information on using Contexts.
  1515. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1516. req, out := c.AttachInternetGatewayRequest(input)
  1517. req.SetContext(ctx)
  1518. req.ApplyOptions(opts...)
  1519. return out, req.Send()
  1520. }
  1521. const opAttachNetworkInterface = "AttachNetworkInterface"
  1522. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1523. // client's request for the AttachNetworkInterface operation. The "output" return
  1524. // value will be populated with the request's response once the request completes
  1525. // successfully.
  1526. //
  1527. // Use "Send" method on the returned Request to send the API call to the service.
  1528. // the "output" return value is not valid until after Send returns without error.
  1529. //
  1530. // See AttachNetworkInterface for more information on using the AttachNetworkInterface
  1531. // API call, and error handling.
  1532. //
  1533. // This method is useful when you want to inject custom logic or configuration
  1534. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1535. //
  1536. //
  1537. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1538. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1539. //
  1540. // err := req.Send()
  1541. // if err == nil { // resp is now filled
  1542. // fmt.Println(resp)
  1543. // }
  1544. //
  1545. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1546. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1547. op := &request.Operation{
  1548. Name: opAttachNetworkInterface,
  1549. HTTPMethod: "POST",
  1550. HTTPPath: "/",
  1551. }
  1552. if input == nil {
  1553. input = &AttachNetworkInterfaceInput{}
  1554. }
  1555. output = &AttachNetworkInterfaceOutput{}
  1556. req = c.newRequest(op, input, output)
  1557. return
  1558. }
  1559. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1560. //
  1561. // Attaches a network interface to an instance.
  1562. //
  1563. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1564. // with awserr.Error's Code and Message methods to get detailed information about
  1565. // the error.
  1566. //
  1567. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1568. // API operation AttachNetworkInterface for usage and error information.
  1569. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1570. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1571. req, out := c.AttachNetworkInterfaceRequest(input)
  1572. return out, req.Send()
  1573. }
  1574. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1575. // the ability to pass a context and additional request options.
  1576. //
  1577. // See AttachNetworkInterface for details on how to use this API operation.
  1578. //
  1579. // The context must be non-nil and will be used for request cancellation. If
  1580. // the context is nil a panic will occur. In the future the SDK may create
  1581. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1582. // for more information on using Contexts.
  1583. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1584. req, out := c.AttachNetworkInterfaceRequest(input)
  1585. req.SetContext(ctx)
  1586. req.ApplyOptions(opts...)
  1587. return out, req.Send()
  1588. }
  1589. const opAttachVolume = "AttachVolume"
  1590. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1591. // client's request for the AttachVolume operation. The "output" return
  1592. // value will be populated with the request's response once the request completes
  1593. // successfully.
  1594. //
  1595. // Use "Send" method on the returned Request to send the API call to the service.
  1596. // the "output" return value is not valid until after Send returns without error.
  1597. //
  1598. // See AttachVolume for more information on using the AttachVolume
  1599. // API call, and error handling.
  1600. //
  1601. // This method is useful when you want to inject custom logic or configuration
  1602. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1603. //
  1604. //
  1605. // // Example sending a request using the AttachVolumeRequest method.
  1606. // req, resp := client.AttachVolumeRequest(params)
  1607. //
  1608. // err := req.Send()
  1609. // if err == nil { // resp is now filled
  1610. // fmt.Println(resp)
  1611. // }
  1612. //
  1613. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1614. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1615. op := &request.Operation{
  1616. Name: opAttachVolume,
  1617. HTTPMethod: "POST",
  1618. HTTPPath: "/",
  1619. }
  1620. if input == nil {
  1621. input = &AttachVolumeInput{}
  1622. }
  1623. output = &VolumeAttachment{}
  1624. req = c.newRequest(op, input, output)
  1625. return
  1626. }
  1627. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1628. //
  1629. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1630. // the instance with the specified device name.
  1631. //
  1632. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1633. // EBS encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1634. // in the Amazon Elastic Compute Cloud User Guide.
  1635. //
  1636. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1637. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1638. // Any device names that aren't reserved for instance store volumes can be used
  1639. // for EBS volumes. For more information, see Amazon EC2 Instance Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1640. // in the Amazon Elastic Compute Cloud User Guide.
  1641. //
  1642. // If a volume has an AWS Marketplace product code:
  1643. //
  1644. // * The volume can be attached only to a stopped instance.
  1645. //
  1646. // * AWS Marketplace product codes are copied from the volume to the instance.
  1647. //
  1648. // * You must be subscribed to the product.
  1649. //
  1650. // * The instance type and operating system of the instance must support
  1651. // the product. For example, you can't detach a volume from a Windows instance
  1652. // and attach it to a Linux instance.
  1653. //
  1654. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1655. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1656. // in the Amazon Elastic Compute Cloud User Guide.
  1657. //
  1658. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1659. // with awserr.Error's Code and Message methods to get detailed information about
  1660. // the error.
  1661. //
  1662. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1663. // API operation AttachVolume for usage and error information.
  1664. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1665. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1666. req, out := c.AttachVolumeRequest(input)
  1667. return out, req.Send()
  1668. }
  1669. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1670. // the ability to pass a context and additional request options.
  1671. //
  1672. // See AttachVolume for details on how to use this API operation.
  1673. //
  1674. // The context must be non-nil and will be used for request cancellation. If
  1675. // the context is nil a panic will occur. In the future the SDK may create
  1676. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1677. // for more information on using Contexts.
  1678. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1679. req, out := c.AttachVolumeRequest(input)
  1680. req.SetContext(ctx)
  1681. req.ApplyOptions(opts...)
  1682. return out, req.Send()
  1683. }
  1684. const opAttachVpnGateway = "AttachVpnGateway"
  1685. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1686. // client's request for the AttachVpnGateway operation. The "output" return
  1687. // value will be populated with the request's response once the request completes
  1688. // successfully.
  1689. //
  1690. // Use "Send" method on the returned Request to send the API call to the service.
  1691. // the "output" return value is not valid until after Send returns without error.
  1692. //
  1693. // See AttachVpnGateway for more information on using the AttachVpnGateway
  1694. // API call, and error handling.
  1695. //
  1696. // This method is useful when you want to inject custom logic or configuration
  1697. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1698. //
  1699. //
  1700. // // Example sending a request using the AttachVpnGatewayRequest method.
  1701. // req, resp := client.AttachVpnGatewayRequest(params)
  1702. //
  1703. // err := req.Send()
  1704. // if err == nil { // resp is now filled
  1705. // fmt.Println(resp)
  1706. // }
  1707. //
  1708. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1709. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1710. op := &request.Operation{
  1711. Name: opAttachVpnGateway,
  1712. HTTPMethod: "POST",
  1713. HTTPPath: "/",
  1714. }
  1715. if input == nil {
  1716. input = &AttachVpnGatewayInput{}
  1717. }
  1718. output = &AttachVpnGatewayOutput{}
  1719. req = c.newRequest(op, input, output)
  1720. return
  1721. }
  1722. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1723. //
  1724. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1725. // gateway to one VPC at a time.
  1726. //
  1727. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  1728. // in the AWS Site-to-Site VPN User Guide.
  1729. //
  1730. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1731. // with awserr.Error's Code and Message methods to get detailed information about
  1732. // the error.
  1733. //
  1734. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1735. // API operation AttachVpnGateway for usage and error information.
  1736. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1737. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1738. req, out := c.AttachVpnGatewayRequest(input)
  1739. return out, req.Send()
  1740. }
  1741. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1742. // the ability to pass a context and additional request options.
  1743. //
  1744. // See AttachVpnGateway for details on how to use this API operation.
  1745. //
  1746. // The context must be non-nil and will be used for request cancellation. If
  1747. // the context is nil a panic will occur. In the future the SDK may create
  1748. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1749. // for more information on using Contexts.
  1750. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1751. req, out := c.AttachVpnGatewayRequest(input)
  1752. req.SetContext(ctx)
  1753. req.ApplyOptions(opts...)
  1754. return out, req.Send()
  1755. }
  1756. const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
  1757. // AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
  1758. // client's request for the AuthorizeClientVpnIngress operation. The "output" return
  1759. // value will be populated with the request's response once the request completes
  1760. // successfully.
  1761. //
  1762. // Use "Send" method on the returned Request to send the API call to the service.
  1763. // the "output" return value is not valid until after Send returns without error.
  1764. //
  1765. // See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
  1766. // API call, and error handling.
  1767. //
  1768. // This method is useful when you want to inject custom logic or configuration
  1769. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1770. //
  1771. //
  1772. // // Example sending a request using the AuthorizeClientVpnIngressRequest method.
  1773. // req, resp := client.AuthorizeClientVpnIngressRequest(params)
  1774. //
  1775. // err := req.Send()
  1776. // if err == nil { // resp is now filled
  1777. // fmt.Println(resp)
  1778. // }
  1779. //
  1780. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
  1781. func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
  1782. op := &request.Operation{
  1783. Name: opAuthorizeClientVpnIngress,
  1784. HTTPMethod: "POST",
  1785. HTTPPath: "/",
  1786. }
  1787. if input == nil {
  1788. input = &AuthorizeClientVpnIngressInput{}
  1789. }
  1790. output = &AuthorizeClientVpnIngressOutput{}
  1791. req = c.newRequest(op, input, output)
  1792. return
  1793. }
  1794. // AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
  1795. //
  1796. // Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
  1797. // rules act as firewall rules that grant access to networks. You must configure
  1798. // ingress authorization rules to enable clients to access resources in AWS
  1799. // or on-premises networks.
  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 AuthorizeClientVpnIngress for usage and error information.
  1807. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
  1808. func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
  1809. req, out := c.AuthorizeClientVpnIngressRequest(input)
  1810. return out, req.Send()
  1811. }
  1812. // AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
  1813. // the ability to pass a context and additional request options.
  1814. //
  1815. // See AuthorizeClientVpnIngress 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) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
  1822. req, out := c.AuthorizeClientVpnIngressRequest(input)
  1823. req.SetContext(ctx)
  1824. req.ApplyOptions(opts...)
  1825. return out, req.Send()
  1826. }
  1827. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1828. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1829. // client's request for the AuthorizeSecurityGroupEgress 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 AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
  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 AuthorizeSecurityGroupEgressRequest method.
  1844. // req, resp := client.AuthorizeSecurityGroupEgressRequest(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/AuthorizeSecurityGroupEgress
  1852. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1853. op := &request.Operation{
  1854. Name: opAuthorizeSecurityGroupEgress,
  1855. HTTPMethod: "POST",
  1856. HTTPPath: "/",
  1857. }
  1858. if input == nil {
  1859. input = &AuthorizeSecurityGroupEgressInput{}
  1860. }
  1861. output = &AuthorizeSecurityGroupEgressOutput{}
  1862. req = c.newRequest(op, input, output)
  1863. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1864. return
  1865. }
  1866. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1867. //
  1868. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1869. // with a VPC. Specifically, this action permits instances to send traffic to
  1870. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1871. // destination security groups for the same VPC. This action doesn't apply to
  1872. // security groups for use in EC2-Classic. For more information, see Security
  1873. // Groups for Your VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1874. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1875. // security group limits, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1876. //
  1877. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1878. // range or a source group. For the TCP and UDP protocols, you must also specify
  1879. // the destination port or port range. For the ICMP protocol, you must also
  1880. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1881. // all types or all codes. You can optionally specify a description for the
  1882. // rule.
  1883. //
  1884. // Rule changes are propagated to affected instances as quickly as possible.
  1885. // However, a small delay might occur.
  1886. //
  1887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1888. // with awserr.Error's Code and Message methods to get detailed information about
  1889. // the error.
  1890. //
  1891. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1892. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1893. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1894. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1895. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1896. return out, req.Send()
  1897. }
  1898. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1899. // the ability to pass a context and additional request options.
  1900. //
  1901. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1902. //
  1903. // The context must be non-nil and will be used for request cancellation. If
  1904. // the context is nil a panic will occur. In the future the SDK may create
  1905. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1906. // for more information on using Contexts.
  1907. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1908. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1909. req.SetContext(ctx)
  1910. req.ApplyOptions(opts...)
  1911. return out, req.Send()
  1912. }
  1913. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1914. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1915. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1916. // value will be populated with the request's response once the request completes
  1917. // successfully.
  1918. //
  1919. // Use "Send" method on the returned Request to send the API call to the service.
  1920. // the "output" return value is not valid until after Send returns without error.
  1921. //
  1922. // See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
  1923. // API call, and error handling.
  1924. //
  1925. // This method is useful when you want to inject custom logic or configuration
  1926. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1927. //
  1928. //
  1929. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1930. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1931. //
  1932. // err := req.Send()
  1933. // if err == nil { // resp is now filled
  1934. // fmt.Println(resp)
  1935. // }
  1936. //
  1937. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1938. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1939. op := &request.Operation{
  1940. Name: opAuthorizeSecurityGroupIngress,
  1941. HTTPMethod: "POST",
  1942. HTTPPath: "/",
  1943. }
  1944. if input == nil {
  1945. input = &AuthorizeSecurityGroupIngressInput{}
  1946. }
  1947. output = &AuthorizeSecurityGroupIngressOutput{}
  1948. req = c.newRequest(op, input, output)
  1949. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1950. return
  1951. }
  1952. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1953. //
  1954. // Adds one or more ingress rules to a security group.
  1955. //
  1956. // Rule changes are propagated to instances within the security group as quickly
  1957. // as possible. However, a small delay might occur.
  1958. //
  1959. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1960. // to access a security group in your account, or gives one or more security
  1961. // groups (called the source groups) permission to access a security group for
  1962. // your account. A source group can be for your own AWS account, or another.
  1963. // You can have up to 100 rules per group.
  1964. //
  1965. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1966. // permission to access a security group in your VPC, or gives one or more other
  1967. // security groups (called the source groups) permission to access a security
  1968. // group for your VPC. The security groups must all be for the same VPC or a
  1969. // peer VPC in a VPC peering connection. For more information about VPC security
  1970. // group limits, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1971. //
  1972. // You can optionally specify a description for the security group rule.
  1973. //
  1974. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1975. // with awserr.Error's Code and Message methods to get detailed information about
  1976. // the error.
  1977. //
  1978. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1979. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1980. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1981. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1982. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1983. return out, req.Send()
  1984. }
  1985. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1986. // the ability to pass a context and additional request options.
  1987. //
  1988. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1989. //
  1990. // The context must be non-nil and will be used for request cancellation. If
  1991. // the context is nil a panic will occur. In the future the SDK may create
  1992. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1993. // for more information on using Contexts.
  1994. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1995. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1996. req.SetContext(ctx)
  1997. req.ApplyOptions(opts...)
  1998. return out, req.Send()
  1999. }
  2000. const opBundleInstance = "BundleInstance"
  2001. // BundleInstanceRequest generates a "aws/request.Request" representing the
  2002. // client's request for the BundleInstance operation. The "output" return
  2003. // value will be populated with the request's response once the request completes
  2004. // successfully.
  2005. //
  2006. // Use "Send" method on the returned Request to send the API call to the service.
  2007. // the "output" return value is not valid until after Send returns without error.
  2008. //
  2009. // See BundleInstance for more information on using the BundleInstance
  2010. // API call, and error handling.
  2011. //
  2012. // This method is useful when you want to inject custom logic or configuration
  2013. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2014. //
  2015. //
  2016. // // Example sending a request using the BundleInstanceRequest method.
  2017. // req, resp := client.BundleInstanceRequest(params)
  2018. //
  2019. // err := req.Send()
  2020. // if err == nil { // resp is now filled
  2021. // fmt.Println(resp)
  2022. // }
  2023. //
  2024. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  2025. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  2026. op := &request.Operation{
  2027. Name: opBundleInstance,
  2028. HTTPMethod: "POST",
  2029. HTTPPath: "/",
  2030. }
  2031. if input == nil {
  2032. input = &BundleInstanceInput{}
  2033. }
  2034. output = &BundleInstanceOutput{}
  2035. req = c.newRequest(op, input, output)
  2036. return
  2037. }
  2038. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  2039. //
  2040. // Bundles an Amazon instance store-backed Windows instance.
  2041. //
  2042. // During bundling, only the root device volume (C:\) is bundled. Data on other
  2043. // instance store volumes is not preserved.
  2044. //
  2045. // This action is not applicable for Linux/Unix instances or Windows instances
  2046. // that are backed by Amazon EBS.
  2047. //
  2048. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2049. // with awserr.Error's Code and Message methods to get detailed information about
  2050. // the error.
  2051. //
  2052. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2053. // API operation BundleInstance for usage and error information.
  2054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  2055. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  2056. req, out := c.BundleInstanceRequest(input)
  2057. return out, req.Send()
  2058. }
  2059. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  2060. // the ability to pass a context and additional request options.
  2061. //
  2062. // See BundleInstance for details on how to use this API operation.
  2063. //
  2064. // The context must be non-nil and will be used for request cancellation. If
  2065. // the context is nil a panic will occur. In the future the SDK may create
  2066. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2067. // for more information on using Contexts.
  2068. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  2069. req, out := c.BundleInstanceRequest(input)
  2070. req.SetContext(ctx)
  2071. req.ApplyOptions(opts...)
  2072. return out, req.Send()
  2073. }
  2074. const opCancelBundleTask = "CancelBundleTask"
  2075. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  2076. // client's request for the CancelBundleTask operation. The "output" return
  2077. // value will be populated with the request's response once the request completes
  2078. // successfully.
  2079. //
  2080. // Use "Send" method on the returned Request to send the API call to the service.
  2081. // the "output" return value is not valid until after Send returns without error.
  2082. //
  2083. // See CancelBundleTask for more information on using the CancelBundleTask
  2084. // API call, and error handling.
  2085. //
  2086. // This method is useful when you want to inject custom logic or configuration
  2087. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2088. //
  2089. //
  2090. // // Example sending a request using the CancelBundleTaskRequest method.
  2091. // req, resp := client.CancelBundleTaskRequest(params)
  2092. //
  2093. // err := req.Send()
  2094. // if err == nil { // resp is now filled
  2095. // fmt.Println(resp)
  2096. // }
  2097. //
  2098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  2099. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  2100. op := &request.Operation{
  2101. Name: opCancelBundleTask,
  2102. HTTPMethod: "POST",
  2103. HTTPPath: "/",
  2104. }
  2105. if input == nil {
  2106. input = &CancelBundleTaskInput{}
  2107. }
  2108. output = &CancelBundleTaskOutput{}
  2109. req = c.newRequest(op, input, output)
  2110. return
  2111. }
  2112. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  2113. //
  2114. // Cancels a bundling operation for an instance store-backed Windows instance.
  2115. //
  2116. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2117. // with awserr.Error's Code and Message methods to get detailed information about
  2118. // the error.
  2119. //
  2120. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2121. // API operation CancelBundleTask for usage and error information.
  2122. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  2123. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  2124. req, out := c.CancelBundleTaskRequest(input)
  2125. return out, req.Send()
  2126. }
  2127. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  2128. // the ability to pass a context and additional request options.
  2129. //
  2130. // See CancelBundleTask for details on how to use this API operation.
  2131. //
  2132. // The context must be non-nil and will be used for request cancellation. If
  2133. // the context is nil a panic will occur. In the future the SDK may create
  2134. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2135. // for more information on using Contexts.
  2136. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  2137. req, out := c.CancelBundleTaskRequest(input)
  2138. req.SetContext(ctx)
  2139. req.ApplyOptions(opts...)
  2140. return out, req.Send()
  2141. }
  2142. const opCancelCapacityReservation = "CancelCapacityReservation"
  2143. // CancelCapacityReservationRequest generates a "aws/request.Request" representing the
  2144. // client's request for the CancelCapacityReservation operation. The "output" return
  2145. // value will be populated with the request's response once the request completes
  2146. // successfully.
  2147. //
  2148. // Use "Send" method on the returned Request to send the API call to the service.
  2149. // the "output" return value is not valid until after Send returns without error.
  2150. //
  2151. // See CancelCapacityReservation for more information on using the CancelCapacityReservation
  2152. // API call, and error handling.
  2153. //
  2154. // This method is useful when you want to inject custom logic or configuration
  2155. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2156. //
  2157. //
  2158. // // Example sending a request using the CancelCapacityReservationRequest method.
  2159. // req, resp := client.CancelCapacityReservationRequest(params)
  2160. //
  2161. // err := req.Send()
  2162. // if err == nil { // resp is now filled
  2163. // fmt.Println(resp)
  2164. // }
  2165. //
  2166. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
  2167. func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
  2168. op := &request.Operation{
  2169. Name: opCancelCapacityReservation,
  2170. HTTPMethod: "POST",
  2171. HTTPPath: "/",
  2172. }
  2173. if input == nil {
  2174. input = &CancelCapacityReservationInput{}
  2175. }
  2176. output = &CancelCapacityReservationOutput{}
  2177. req = c.newRequest(op, input, output)
  2178. return
  2179. }
  2180. // CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
  2181. //
  2182. // Cancels the specified Capacity Reservation, releases the reserved capacity,
  2183. // and changes the Capacity Reservation's state to cancelled.
  2184. //
  2185. // Instances running in the reserved capacity continue running until you stop
  2186. // them. Stopped instances that target the Capacity Reservation can no longer
  2187. // launch. Modify these instances to either target a different Capacity Reservation,
  2188. // launch On-Demand Instance capacity, or run in any open Capacity Reservation
  2189. // that has matching attributes and sufficient capacity.
  2190. //
  2191. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2192. // with awserr.Error's Code and Message methods to get detailed information about
  2193. // the error.
  2194. //
  2195. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2196. // API operation CancelCapacityReservation for usage and error information.
  2197. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
  2198. func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
  2199. req, out := c.CancelCapacityReservationRequest(input)
  2200. return out, req.Send()
  2201. }
  2202. // CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
  2203. // the ability to pass a context and additional request options.
  2204. //
  2205. // See CancelCapacityReservation for details on how to use this API operation.
  2206. //
  2207. // The context must be non-nil and will be used for request cancellation. If
  2208. // the context is nil a panic will occur. In the future the SDK may create
  2209. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2210. // for more information on using Contexts.
  2211. func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
  2212. req, out := c.CancelCapacityReservationRequest(input)
  2213. req.SetContext(ctx)
  2214. req.ApplyOptions(opts...)
  2215. return out, req.Send()
  2216. }
  2217. const opCancelConversionTask = "CancelConversionTask"
  2218. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  2219. // client's request for the CancelConversionTask operation. The "output" return
  2220. // value will be populated with the request's response once the request completes
  2221. // successfully.
  2222. //
  2223. // Use "Send" method on the returned Request to send the API call to the service.
  2224. // the "output" return value is not valid until after Send returns without error.
  2225. //
  2226. // See CancelConversionTask for more information on using the CancelConversionTask
  2227. // API call, and error handling.
  2228. //
  2229. // This method is useful when you want to inject custom logic or configuration
  2230. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2231. //
  2232. //
  2233. // // Example sending a request using the CancelConversionTaskRequest method.
  2234. // req, resp := client.CancelConversionTaskRequest(params)
  2235. //
  2236. // err := req.Send()
  2237. // if err == nil { // resp is now filled
  2238. // fmt.Println(resp)
  2239. // }
  2240. //
  2241. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  2242. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  2243. op := &request.Operation{
  2244. Name: opCancelConversionTask,
  2245. HTTPMethod: "POST",
  2246. HTTPPath: "/",
  2247. }
  2248. if input == nil {
  2249. input = &CancelConversionTaskInput{}
  2250. }
  2251. output = &CancelConversionTaskOutput{}
  2252. req = c.newRequest(op, input, output)
  2253. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2254. return
  2255. }
  2256. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  2257. //
  2258. // Cancels an active conversion task. The task can be the import of an instance
  2259. // or volume. The action removes all artifacts of the conversion, including
  2260. // a partially uploaded volume or instance. If the conversion is complete or
  2261. // is in the process of transferring the final disk image, the command fails
  2262. // and returns an exception.
  2263. //
  2264. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  2265. // CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  2266. //
  2267. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2268. // with awserr.Error's Code and Message methods to get detailed information about
  2269. // the error.
  2270. //
  2271. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2272. // API operation CancelConversionTask for usage and error information.
  2273. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  2274. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  2275. req, out := c.CancelConversionTaskRequest(input)
  2276. return out, req.Send()
  2277. }
  2278. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  2279. // the ability to pass a context and additional request options.
  2280. //
  2281. // See CancelConversionTask for details on how to use this API operation.
  2282. //
  2283. // The context must be non-nil and will be used for request cancellation. If
  2284. // the context is nil a panic will occur. In the future the SDK may create
  2285. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2286. // for more information on using Contexts.
  2287. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  2288. req, out := c.CancelConversionTaskRequest(input)
  2289. req.SetContext(ctx)
  2290. req.ApplyOptions(opts...)
  2291. return out, req.Send()
  2292. }
  2293. const opCancelExportTask = "CancelExportTask"
  2294. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  2295. // client's request for the CancelExportTask operation. The "output" return
  2296. // value will be populated with the request's response once the request completes
  2297. // successfully.
  2298. //
  2299. // Use "Send" method on the returned Request to send the API call to the service.
  2300. // the "output" return value is not valid until after Send returns without error.
  2301. //
  2302. // See CancelExportTask for more information on using the CancelExportTask
  2303. // API call, and error handling.
  2304. //
  2305. // This method is useful when you want to inject custom logic or configuration
  2306. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2307. //
  2308. //
  2309. // // Example sending a request using the CancelExportTaskRequest method.
  2310. // req, resp := client.CancelExportTaskRequest(params)
  2311. //
  2312. // err := req.Send()
  2313. // if err == nil { // resp is now filled
  2314. // fmt.Println(resp)
  2315. // }
  2316. //
  2317. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  2318. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  2319. op := &request.Operation{
  2320. Name: opCancelExportTask,
  2321. HTTPMethod: "POST",
  2322. HTTPPath: "/",
  2323. }
  2324. if input == nil {
  2325. input = &CancelExportTaskInput{}
  2326. }
  2327. output = &CancelExportTaskOutput{}
  2328. req = c.newRequest(op, input, output)
  2329. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2330. return
  2331. }
  2332. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  2333. //
  2334. // Cancels an active export task. The request removes all artifacts of the export,
  2335. // including any partially-created Amazon S3 objects. If the export task is
  2336. // complete or is in the process of transferring the final disk image, the command
  2337. // fails and returns an error.
  2338. //
  2339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2340. // with awserr.Error's Code and Message methods to get detailed information about
  2341. // the error.
  2342. //
  2343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2344. // API operation CancelExportTask for usage and error information.
  2345. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  2346. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  2347. req, out := c.CancelExportTaskRequest(input)
  2348. return out, req.Send()
  2349. }
  2350. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  2351. // the ability to pass a context and additional request options.
  2352. //
  2353. // See CancelExportTask for details on how to use this API operation.
  2354. //
  2355. // The context must be non-nil and will be used for request cancellation. If
  2356. // the context is nil a panic will occur. In the future the SDK may create
  2357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2358. // for more information on using Contexts.
  2359. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  2360. req, out := c.CancelExportTaskRequest(input)
  2361. req.SetContext(ctx)
  2362. req.ApplyOptions(opts...)
  2363. return out, req.Send()
  2364. }
  2365. const opCancelImportTask = "CancelImportTask"
  2366. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  2367. // client's request for the CancelImportTask operation. The "output" return
  2368. // value will be populated with the request's response once the request completes
  2369. // successfully.
  2370. //
  2371. // Use "Send" method on the returned Request to send the API call to the service.
  2372. // the "output" return value is not valid until after Send returns without error.
  2373. //
  2374. // See CancelImportTask for more information on using the CancelImportTask
  2375. // API call, and error handling.
  2376. //
  2377. // This method is useful when you want to inject custom logic or configuration
  2378. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2379. //
  2380. //
  2381. // // Example sending a request using the CancelImportTaskRequest method.
  2382. // req, resp := client.CancelImportTaskRequest(params)
  2383. //
  2384. // err := req.Send()
  2385. // if err == nil { // resp is now filled
  2386. // fmt.Println(resp)
  2387. // }
  2388. //
  2389. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  2390. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  2391. op := &request.Operation{
  2392. Name: opCancelImportTask,
  2393. HTTPMethod: "POST",
  2394. HTTPPath: "/",
  2395. }
  2396. if input == nil {
  2397. input = &CancelImportTaskInput{}
  2398. }
  2399. output = &CancelImportTaskOutput{}
  2400. req = c.newRequest(op, input, output)
  2401. return
  2402. }
  2403. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  2404. //
  2405. // Cancels an in-process import virtual machine or import snapshot task.
  2406. //
  2407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2408. // with awserr.Error's Code and Message methods to get detailed information about
  2409. // the error.
  2410. //
  2411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2412. // API operation CancelImportTask for usage and error information.
  2413. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  2414. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  2415. req, out := c.CancelImportTaskRequest(input)
  2416. return out, req.Send()
  2417. }
  2418. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  2419. // the ability to pass a context and additional request options.
  2420. //
  2421. // See CancelImportTask for details on how to use this API operation.
  2422. //
  2423. // The context must be non-nil and will be used for request cancellation. If
  2424. // the context is nil a panic will occur. In the future the SDK may create
  2425. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2426. // for more information on using Contexts.
  2427. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  2428. req, out := c.CancelImportTaskRequest(input)
  2429. req.SetContext(ctx)
  2430. req.ApplyOptions(opts...)
  2431. return out, req.Send()
  2432. }
  2433. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  2434. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  2435. // client's request for the CancelReservedInstancesListing operation. The "output" return
  2436. // value will be populated with the request's response once the request completes
  2437. // successfully.
  2438. //
  2439. // Use "Send" method on the returned Request to send the API call to the service.
  2440. // the "output" return value is not valid until after Send returns without error.
  2441. //
  2442. // See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
  2443. // API call, and error handling.
  2444. //
  2445. // This method is useful when you want to inject custom logic or configuration
  2446. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2447. //
  2448. //
  2449. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  2450. // req, resp := client.CancelReservedInstancesListingRequest(params)
  2451. //
  2452. // err := req.Send()
  2453. // if err == nil { // resp is now filled
  2454. // fmt.Println(resp)
  2455. // }
  2456. //
  2457. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  2458. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  2459. op := &request.Operation{
  2460. Name: opCancelReservedInstancesListing,
  2461. HTTPMethod: "POST",
  2462. HTTPPath: "/",
  2463. }
  2464. if input == nil {
  2465. input = &CancelReservedInstancesListingInput{}
  2466. }
  2467. output = &CancelReservedInstancesListingOutput{}
  2468. req = c.newRequest(op, input, output)
  2469. return
  2470. }
  2471. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  2472. //
  2473. // Cancels the specified Reserved Instance listing in the Reserved Instance
  2474. // Marketplace.
  2475. //
  2476. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  2477. // in the Amazon Elastic Compute Cloud User Guide.
  2478. //
  2479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2480. // with awserr.Error's Code and Message methods to get detailed information about
  2481. // the error.
  2482. //
  2483. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2484. // API operation CancelReservedInstancesListing for usage and error information.
  2485. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  2486. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  2487. req, out := c.CancelReservedInstancesListingRequest(input)
  2488. return out, req.Send()
  2489. }
  2490. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  2491. // the ability to pass a context and additional request options.
  2492. //
  2493. // See CancelReservedInstancesListing for details on how to use this API operation.
  2494. //
  2495. // The context must be non-nil and will be used for request cancellation. If
  2496. // the context is nil a panic will occur. In the future the SDK may create
  2497. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2498. // for more information on using Contexts.
  2499. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  2500. req, out := c.CancelReservedInstancesListingRequest(input)
  2501. req.SetContext(ctx)
  2502. req.ApplyOptions(opts...)
  2503. return out, req.Send()
  2504. }
  2505. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  2506. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  2507. // client's request for the CancelSpotFleetRequests operation. The "output" return
  2508. // value will be populated with the request's response once the request completes
  2509. // successfully.
  2510. //
  2511. // Use "Send" method on the returned Request to send the API call to the service.
  2512. // the "output" return value is not valid until after Send returns without error.
  2513. //
  2514. // See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
  2515. // API call, and error handling.
  2516. //
  2517. // This method is useful when you want to inject custom logic or configuration
  2518. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2519. //
  2520. //
  2521. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  2522. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  2523. //
  2524. // err := req.Send()
  2525. // if err == nil { // resp is now filled
  2526. // fmt.Println(resp)
  2527. // }
  2528. //
  2529. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2530. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  2531. op := &request.Operation{
  2532. Name: opCancelSpotFleetRequests,
  2533. HTTPMethod: "POST",
  2534. HTTPPath: "/",
  2535. }
  2536. if input == nil {
  2537. input = &CancelSpotFleetRequestsInput{}
  2538. }
  2539. output = &CancelSpotFleetRequestsOutput{}
  2540. req = c.newRequest(op, input, output)
  2541. return
  2542. }
  2543. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  2544. //
  2545. // Cancels the specified Spot Fleet requests.
  2546. //
  2547. // After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
  2548. // Instances. You must specify whether the Spot Fleet should also terminate
  2549. // its Spot Instances. If you terminate the instances, the Spot Fleet request
  2550. // enters the cancelled_terminating state. Otherwise, the Spot Fleet request
  2551. // enters the cancelled_running state and the instances continue to run until
  2552. // they are interrupted or you terminate them manually.
  2553. //
  2554. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2555. // with awserr.Error's Code and Message methods to get detailed information about
  2556. // the error.
  2557. //
  2558. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2559. // API operation CancelSpotFleetRequests for usage and error information.
  2560. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  2561. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  2562. req, out := c.CancelSpotFleetRequestsRequest(input)
  2563. return out, req.Send()
  2564. }
  2565. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  2566. // the ability to pass a context and additional request options.
  2567. //
  2568. // See CancelSpotFleetRequests for details on how to use this API operation.
  2569. //
  2570. // The context must be non-nil and will be used for request cancellation. If
  2571. // the context is nil a panic will occur. In the future the SDK may create
  2572. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2573. // for more information on using Contexts.
  2574. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  2575. req, out := c.CancelSpotFleetRequestsRequest(input)
  2576. req.SetContext(ctx)
  2577. req.ApplyOptions(opts...)
  2578. return out, req.Send()
  2579. }
  2580. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2581. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2582. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2583. // value will be populated with the request's response once the request completes
  2584. // successfully.
  2585. //
  2586. // Use "Send" method on the returned Request to send the API call to the service.
  2587. // the "output" return value is not valid until after Send returns without error.
  2588. //
  2589. // See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
  2590. // API call, and error handling.
  2591. //
  2592. // This method is useful when you want to inject custom logic or configuration
  2593. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2594. //
  2595. //
  2596. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2597. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2598. //
  2599. // err := req.Send()
  2600. // if err == nil { // resp is now filled
  2601. // fmt.Println(resp)
  2602. // }
  2603. //
  2604. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2605. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2606. op := &request.Operation{
  2607. Name: opCancelSpotInstanceRequests,
  2608. HTTPMethod: "POST",
  2609. HTTPPath: "/",
  2610. }
  2611. if input == nil {
  2612. input = &CancelSpotInstanceRequestsInput{}
  2613. }
  2614. output = &CancelSpotInstanceRequestsOutput{}
  2615. req = c.newRequest(op, input, output)
  2616. return
  2617. }
  2618. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2619. //
  2620. // Cancels one or more Spot Instance requests.
  2621. //
  2622. // Canceling a Spot Instance request does not terminate running Spot Instances
  2623. // associated with the request.
  2624. //
  2625. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2626. // with awserr.Error's Code and Message methods to get detailed information about
  2627. // the error.
  2628. //
  2629. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2630. // API operation CancelSpotInstanceRequests for usage and error information.
  2631. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2632. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2633. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2634. return out, req.Send()
  2635. }
  2636. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2637. // the ability to pass a context and additional request options.
  2638. //
  2639. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2640. //
  2641. // The context must be non-nil and will be used for request cancellation. If
  2642. // the context is nil a panic will occur. In the future the SDK may create
  2643. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2644. // for more information on using Contexts.
  2645. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2646. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2647. req.SetContext(ctx)
  2648. req.ApplyOptions(opts...)
  2649. return out, req.Send()
  2650. }
  2651. const opConfirmProductInstance = "ConfirmProductInstance"
  2652. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2653. // client's request for the ConfirmProductInstance operation. The "output" return
  2654. // value will be populated with the request's response once the request completes
  2655. // successfully.
  2656. //
  2657. // Use "Send" method on the returned Request to send the API call to the service.
  2658. // the "output" return value is not valid until after Send returns without error.
  2659. //
  2660. // See ConfirmProductInstance for more information on using the ConfirmProductInstance
  2661. // API call, and error handling.
  2662. //
  2663. // This method is useful when you want to inject custom logic or configuration
  2664. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2665. //
  2666. //
  2667. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2668. // req, resp := client.ConfirmProductInstanceRequest(params)
  2669. //
  2670. // err := req.Send()
  2671. // if err == nil { // resp is now filled
  2672. // fmt.Println(resp)
  2673. // }
  2674. //
  2675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2676. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2677. op := &request.Operation{
  2678. Name: opConfirmProductInstance,
  2679. HTTPMethod: "POST",
  2680. HTTPPath: "/",
  2681. }
  2682. if input == nil {
  2683. input = &ConfirmProductInstanceInput{}
  2684. }
  2685. output = &ConfirmProductInstanceOutput{}
  2686. req = c.newRequest(op, input, output)
  2687. return
  2688. }
  2689. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2690. //
  2691. // Determines whether a product code is associated with an instance. This action
  2692. // can only be used by the owner of the product code. It is useful when a product
  2693. // code owner must verify whether another user's instance is eligible for support.
  2694. //
  2695. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2696. // with awserr.Error's Code and Message methods to get detailed information about
  2697. // the error.
  2698. //
  2699. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2700. // API operation ConfirmProductInstance for usage and error information.
  2701. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2702. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2703. req, out := c.ConfirmProductInstanceRequest(input)
  2704. return out, req.Send()
  2705. }
  2706. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2707. // the ability to pass a context and additional request options.
  2708. //
  2709. // See ConfirmProductInstance for details on how to use this API operation.
  2710. //
  2711. // The context must be non-nil and will be used for request cancellation. If
  2712. // the context is nil a panic will occur. In the future the SDK may create
  2713. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2714. // for more information on using Contexts.
  2715. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2716. req, out := c.ConfirmProductInstanceRequest(input)
  2717. req.SetContext(ctx)
  2718. req.ApplyOptions(opts...)
  2719. return out, req.Send()
  2720. }
  2721. const opCopyFpgaImage = "CopyFpgaImage"
  2722. // CopyFpgaImageRequest generates a "aws/request.Request" representing the
  2723. // client's request for the CopyFpgaImage operation. The "output" return
  2724. // value will be populated with the request's response once the request completes
  2725. // successfully.
  2726. //
  2727. // Use "Send" method on the returned Request to send the API call to the service.
  2728. // the "output" return value is not valid until after Send returns without error.
  2729. //
  2730. // See CopyFpgaImage for more information on using the CopyFpgaImage
  2731. // API call, and error handling.
  2732. //
  2733. // This method is useful when you want to inject custom logic or configuration
  2734. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2735. //
  2736. //
  2737. // // Example sending a request using the CopyFpgaImageRequest method.
  2738. // req, resp := client.CopyFpgaImageRequest(params)
  2739. //
  2740. // err := req.Send()
  2741. // if err == nil { // resp is now filled
  2742. // fmt.Println(resp)
  2743. // }
  2744. //
  2745. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2746. func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
  2747. op := &request.Operation{
  2748. Name: opCopyFpgaImage,
  2749. HTTPMethod: "POST",
  2750. HTTPPath: "/",
  2751. }
  2752. if input == nil {
  2753. input = &CopyFpgaImageInput{}
  2754. }
  2755. output = &CopyFpgaImageOutput{}
  2756. req = c.newRequest(op, input, output)
  2757. return
  2758. }
  2759. // CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
  2760. //
  2761. // Copies the specified Amazon FPGA Image (AFI) to the current region.
  2762. //
  2763. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2764. // with awserr.Error's Code and Message methods to get detailed information about
  2765. // the error.
  2766. //
  2767. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2768. // API operation CopyFpgaImage for usage and error information.
  2769. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
  2770. func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
  2771. req, out := c.CopyFpgaImageRequest(input)
  2772. return out, req.Send()
  2773. }
  2774. // CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
  2775. // the ability to pass a context and additional request options.
  2776. //
  2777. // See CopyFpgaImage for details on how to use this API operation.
  2778. //
  2779. // The context must be non-nil and will be used for request cancellation. If
  2780. // the context is nil a panic will occur. In the future the SDK may create
  2781. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2782. // for more information on using Contexts.
  2783. func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
  2784. req, out := c.CopyFpgaImageRequest(input)
  2785. req.SetContext(ctx)
  2786. req.ApplyOptions(opts...)
  2787. return out, req.Send()
  2788. }
  2789. const opCopyImage = "CopyImage"
  2790. // CopyImageRequest generates a "aws/request.Request" representing the
  2791. // client's request for the CopyImage operation. The "output" return
  2792. // value will be populated with the request's response once the request completes
  2793. // successfully.
  2794. //
  2795. // Use "Send" method on the returned Request to send the API call to the service.
  2796. // the "output" return value is not valid until after Send returns without error.
  2797. //
  2798. // See CopyImage for more information on using the CopyImage
  2799. // API call, and error handling.
  2800. //
  2801. // This method is useful when you want to inject custom logic or configuration
  2802. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2803. //
  2804. //
  2805. // // Example sending a request using the CopyImageRequest method.
  2806. // req, resp := client.CopyImageRequest(params)
  2807. //
  2808. // err := req.Send()
  2809. // if err == nil { // resp is now filled
  2810. // fmt.Println(resp)
  2811. // }
  2812. //
  2813. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2814. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2815. op := &request.Operation{
  2816. Name: opCopyImage,
  2817. HTTPMethod: "POST",
  2818. HTTPPath: "/",
  2819. }
  2820. if input == nil {
  2821. input = &CopyImageInput{}
  2822. }
  2823. output = &CopyImageOutput{}
  2824. req = c.newRequest(op, input, output)
  2825. return
  2826. }
  2827. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2828. //
  2829. // Initiates the copy of an AMI from the specified source region to the current
  2830. // region. You specify the destination region by using its endpoint when making
  2831. // the request.
  2832. //
  2833. // Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
  2834. // unencrypted backing snapshots remain unencrypted, unless you set Encrypted
  2835. // during the copy operation. You cannot create an unencrypted copy of an encrypted
  2836. // backing snapshot.
  2837. //
  2838. // For more information about the prerequisites and limits when copying an AMI,
  2839. // see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2840. // in the Amazon Elastic Compute Cloud User Guide.
  2841. //
  2842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2843. // with awserr.Error's Code and Message methods to get detailed information about
  2844. // the error.
  2845. //
  2846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2847. // API operation CopyImage for usage and error information.
  2848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2849. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2850. req, out := c.CopyImageRequest(input)
  2851. return out, req.Send()
  2852. }
  2853. // CopyImageWithContext is the same as CopyImage with the addition of
  2854. // the ability to pass a context and additional request options.
  2855. //
  2856. // See CopyImage for details on how to use this API operation.
  2857. //
  2858. // The context must be non-nil and will be used for request cancellation. If
  2859. // the context is nil a panic will occur. In the future the SDK may create
  2860. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2861. // for more information on using Contexts.
  2862. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  2863. req, out := c.CopyImageRequest(input)
  2864. req.SetContext(ctx)
  2865. req.ApplyOptions(opts...)
  2866. return out, req.Send()
  2867. }
  2868. const opCopySnapshot = "CopySnapshot"
  2869. // CopySnapshotRequest generates a "aws/request.Request" representing the
  2870. // client's request for the CopySnapshot operation. The "output" return
  2871. // value will be populated with the request's response once the request completes
  2872. // successfully.
  2873. //
  2874. // Use "Send" method on the returned Request to send the API call to the service.
  2875. // the "output" return value is not valid until after Send returns without error.
  2876. //
  2877. // See CopySnapshot for more information on using the CopySnapshot
  2878. // API call, and error handling.
  2879. //
  2880. // This method is useful when you want to inject custom logic or configuration
  2881. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2882. //
  2883. //
  2884. // // Example sending a request using the CopySnapshotRequest method.
  2885. // req, resp := client.CopySnapshotRequest(params)
  2886. //
  2887. // err := req.Send()
  2888. // if err == nil { // resp is now filled
  2889. // fmt.Println(resp)
  2890. // }
  2891. //
  2892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2893. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  2894. op := &request.Operation{
  2895. Name: opCopySnapshot,
  2896. HTTPMethod: "POST",
  2897. HTTPPath: "/",
  2898. }
  2899. if input == nil {
  2900. input = &CopySnapshotInput{}
  2901. }
  2902. output = &CopySnapshotOutput{}
  2903. req = c.newRequest(op, input, output)
  2904. return
  2905. }
  2906. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  2907. //
  2908. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  2909. // S3. You can copy the snapshot within the same Region or from one Region to
  2910. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  2911. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  2912. // the HTTP request to.
  2913. //
  2914. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  2915. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  2916. // the snapshot copy operation. By default, encrypted snapshot copies use the
  2917. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  2918. // you can specify a non-default CMK with the KmsKeyId parameter.
  2919. //
  2920. // To copy an encrypted snapshot that has been shared from another account,
  2921. // you must have permissions for the CMK used to encrypt the snapshot.
  2922. //
  2923. // Snapshots created by copying another snapshot have an arbitrary volume ID
  2924. // that should not be used for any purpose.
  2925. //
  2926. // For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  2927. // in the Amazon Elastic Compute Cloud User Guide.
  2928. //
  2929. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2930. // with awserr.Error's Code and Message methods to get detailed information about
  2931. // the error.
  2932. //
  2933. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2934. // API operation CopySnapshot for usage and error information.
  2935. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2936. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  2937. req, out := c.CopySnapshotRequest(input)
  2938. return out, req.Send()
  2939. }
  2940. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  2941. // the ability to pass a context and additional request options.
  2942. //
  2943. // See CopySnapshot for details on how to use this API operation.
  2944. //
  2945. // The context must be non-nil and will be used for request cancellation. If
  2946. // the context is nil a panic will occur. In the future the SDK may create
  2947. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2948. // for more information on using Contexts.
  2949. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  2950. req, out := c.CopySnapshotRequest(input)
  2951. req.SetContext(ctx)
  2952. req.ApplyOptions(opts...)
  2953. return out, req.Send()
  2954. }
  2955. const opCreateCapacityReservation = "CreateCapacityReservation"
  2956. // CreateCapacityReservationRequest generates a "aws/request.Request" representing the
  2957. // client's request for the CreateCapacityReservation operation. The "output" return
  2958. // value will be populated with the request's response once the request completes
  2959. // successfully.
  2960. //
  2961. // Use "Send" method on the returned Request to send the API call to the service.
  2962. // the "output" return value is not valid until after Send returns without error.
  2963. //
  2964. // See CreateCapacityReservation for more information on using the CreateCapacityReservation
  2965. // API call, and error handling.
  2966. //
  2967. // This method is useful when you want to inject custom logic or configuration
  2968. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2969. //
  2970. //
  2971. // // Example sending a request using the CreateCapacityReservationRequest method.
  2972. // req, resp := client.CreateCapacityReservationRequest(params)
  2973. //
  2974. // err := req.Send()
  2975. // if err == nil { // resp is now filled
  2976. // fmt.Println(resp)
  2977. // }
  2978. //
  2979. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
  2980. func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
  2981. op := &request.Operation{
  2982. Name: opCreateCapacityReservation,
  2983. HTTPMethod: "POST",
  2984. HTTPPath: "/",
  2985. }
  2986. if input == nil {
  2987. input = &CreateCapacityReservationInput{}
  2988. }
  2989. output = &CreateCapacityReservationOutput{}
  2990. req = c.newRequest(op, input, output)
  2991. return
  2992. }
  2993. // CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
  2994. //
  2995. // Creates a new Capacity Reservation with the specified attributes.
  2996. //
  2997. // Capacity Reservations enable you to reserve capacity for your Amazon EC2
  2998. // instances in a specific Availability Zone for any duration. This gives you
  2999. // the flexibility to selectively add capacity reservations and still get the
  3000. // Regional RI discounts for that usage. By creating Capacity Reservations,
  3001. // you ensure that you always have access to Amazon EC2 capacity when you need
  3002. // it, for as long as you need it. For more information, see Capacity Reservations
  3003. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
  3004. // in the Amazon Elastic Compute Cloud User Guide.
  3005. //
  3006. // Your request to create a Capacity Reservation could fail if Amazon EC2 does
  3007. // not have sufficient capacity to fulfill the request. If your request fails
  3008. // due to Amazon EC2 capacity constraints, either try again at a later time,
  3009. // try in a different Availability Zone, or request a smaller capacity reservation.
  3010. // If your application is flexible across instance types and sizes, try to create
  3011. // a Capacity Reservation with different instance attributes.
  3012. //
  3013. // Your request could also fail if the requested quantity exceeds your On-Demand
  3014. // Instance limit for the selected instance type. If your request fails due
  3015. // to limit constraints, increase your On-Demand Instance limit for the required
  3016. // instance type and try again. For more information about increasing your instance
  3017. // limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
  3018. // in the Amazon Elastic Compute Cloud User Guide.
  3019. //
  3020. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3021. // with awserr.Error's Code and Message methods to get detailed information about
  3022. // the error.
  3023. //
  3024. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3025. // API operation CreateCapacityReservation for usage and error information.
  3026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
  3027. func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
  3028. req, out := c.CreateCapacityReservationRequest(input)
  3029. return out, req.Send()
  3030. }
  3031. // CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
  3032. // the ability to pass a context and additional request options.
  3033. //
  3034. // See CreateCapacityReservation for details on how to use this API operation.
  3035. //
  3036. // The context must be non-nil and will be used for request cancellation. If
  3037. // the context is nil a panic will occur. In the future the SDK may create
  3038. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3039. // for more information on using Contexts.
  3040. func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
  3041. req, out := c.CreateCapacityReservationRequest(input)
  3042. req.SetContext(ctx)
  3043. req.ApplyOptions(opts...)
  3044. return out, req.Send()
  3045. }
  3046. const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
  3047. // CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
  3048. // client's request for the CreateClientVpnEndpoint operation. The "output" return
  3049. // value will be populated with the request's response once the request completes
  3050. // successfully.
  3051. //
  3052. // Use "Send" method on the returned Request to send the API call to the service.
  3053. // the "output" return value is not valid until after Send returns without error.
  3054. //
  3055. // See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
  3056. // API call, and error handling.
  3057. //
  3058. // This method is useful when you want to inject custom logic or configuration
  3059. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3060. //
  3061. //
  3062. // // Example sending a request using the CreateClientVpnEndpointRequest method.
  3063. // req, resp := client.CreateClientVpnEndpointRequest(params)
  3064. //
  3065. // err := req.Send()
  3066. // if err == nil { // resp is now filled
  3067. // fmt.Println(resp)
  3068. // }
  3069. //
  3070. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
  3071. func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
  3072. op := &request.Operation{
  3073. Name: opCreateClientVpnEndpoint,
  3074. HTTPMethod: "POST",
  3075. HTTPPath: "/",
  3076. }
  3077. if input == nil {
  3078. input = &CreateClientVpnEndpointInput{}
  3079. }
  3080. output = &CreateClientVpnEndpointOutput{}
  3081. req = c.newRequest(op, input, output)
  3082. return
  3083. }
  3084. // CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  3085. //
  3086. // Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
  3087. // create and configure to enable and manage client VPN sessions. It is the
  3088. // destination endpoint at which all client VPN sessions are terminated.
  3089. //
  3090. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3091. // with awserr.Error's Code and Message methods to get detailed information about
  3092. // the error.
  3093. //
  3094. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3095. // API operation CreateClientVpnEndpoint for usage and error information.
  3096. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
  3097. func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
  3098. req, out := c.CreateClientVpnEndpointRequest(input)
  3099. return out, req.Send()
  3100. }
  3101. // CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
  3102. // the ability to pass a context and additional request options.
  3103. //
  3104. // See CreateClientVpnEndpoint for details on how to use this API operation.
  3105. //
  3106. // The context must be non-nil and will be used for request cancellation. If
  3107. // the context is nil a panic will occur. In the future the SDK may create
  3108. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3109. // for more information on using Contexts.
  3110. func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
  3111. req, out := c.CreateClientVpnEndpointRequest(input)
  3112. req.SetContext(ctx)
  3113. req.ApplyOptions(opts...)
  3114. return out, req.Send()
  3115. }
  3116. const opCreateClientVpnRoute = "CreateClientVpnRoute"
  3117. // CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
  3118. // client's request for the CreateClientVpnRoute operation. The "output" return
  3119. // value will be populated with the request's response once the request completes
  3120. // successfully.
  3121. //
  3122. // Use "Send" method on the returned Request to send the API call to the service.
  3123. // the "output" return value is not valid until after Send returns without error.
  3124. //
  3125. // See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
  3126. // API call, and error handling.
  3127. //
  3128. // This method is useful when you want to inject custom logic or configuration
  3129. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3130. //
  3131. //
  3132. // // Example sending a request using the CreateClientVpnRouteRequest method.
  3133. // req, resp := client.CreateClientVpnRouteRequest(params)
  3134. //
  3135. // err := req.Send()
  3136. // if err == nil { // resp is now filled
  3137. // fmt.Println(resp)
  3138. // }
  3139. //
  3140. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
  3141. func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
  3142. op := &request.Operation{
  3143. Name: opCreateClientVpnRoute,
  3144. HTTPMethod: "POST",
  3145. HTTPPath: "/",
  3146. }
  3147. if input == nil {
  3148. input = &CreateClientVpnRouteInput{}
  3149. }
  3150. output = &CreateClientVpnRouteOutput{}
  3151. req = c.newRequest(op, input, output)
  3152. return
  3153. }
  3154. // CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
  3155. //
  3156. // Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
  3157. // has a route table that describes the available destination network routes.
  3158. // Each route in the route table specifies the path for traffic to specific resources
  3159. // or networks.
  3160. //
  3161. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3162. // with awserr.Error's Code and Message methods to get detailed information about
  3163. // the error.
  3164. //
  3165. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3166. // API operation CreateClientVpnRoute for usage and error information.
  3167. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
  3168. func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
  3169. req, out := c.CreateClientVpnRouteRequest(input)
  3170. return out, req.Send()
  3171. }
  3172. // CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
  3173. // the ability to pass a context and additional request options.
  3174. //
  3175. // See CreateClientVpnRoute for details on how to use this API operation.
  3176. //
  3177. // The context must be non-nil and will be used for request cancellation. If
  3178. // the context is nil a panic will occur. In the future the SDK may create
  3179. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3180. // for more information on using Contexts.
  3181. func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
  3182. req, out := c.CreateClientVpnRouteRequest(input)
  3183. req.SetContext(ctx)
  3184. req.ApplyOptions(opts...)
  3185. return out, req.Send()
  3186. }
  3187. const opCreateCustomerGateway = "CreateCustomerGateway"
  3188. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  3189. // client's request for the CreateCustomerGateway operation. The "output" return
  3190. // value will be populated with the request's response once the request completes
  3191. // successfully.
  3192. //
  3193. // Use "Send" method on the returned Request to send the API call to the service.
  3194. // the "output" return value is not valid until after Send returns without error.
  3195. //
  3196. // See CreateCustomerGateway for more information on using the CreateCustomerGateway
  3197. // API call, and error handling.
  3198. //
  3199. // This method is useful when you want to inject custom logic or configuration
  3200. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3201. //
  3202. //
  3203. // // Example sending a request using the CreateCustomerGatewayRequest method.
  3204. // req, resp := client.CreateCustomerGatewayRequest(params)
  3205. //
  3206. // err := req.Send()
  3207. // if err == nil { // resp is now filled
  3208. // fmt.Println(resp)
  3209. // }
  3210. //
  3211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  3212. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  3213. op := &request.Operation{
  3214. Name: opCreateCustomerGateway,
  3215. HTTPMethod: "POST",
  3216. HTTPPath: "/",
  3217. }
  3218. if input == nil {
  3219. input = &CreateCustomerGatewayInput{}
  3220. }
  3221. output = &CreateCustomerGatewayOutput{}
  3222. req = c.newRequest(op, input, output)
  3223. return
  3224. }
  3225. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  3226. //
  3227. // Provides information to AWS about your VPN customer gateway device. The customer
  3228. // gateway is the appliance at your end of the VPN connection. (The device on
  3229. // the AWS side of the VPN connection is the virtual private gateway.) You must
  3230. // provide the Internet-routable IP address of the customer gateway's external
  3231. // interface. The IP address must be static and may be behind a device performing
  3232. // network address translation (NAT).
  3233. //
  3234. // For devices that use Border Gateway Protocol (BGP), you can also provide
  3235. // the device's BGP Autonomous System Number (ASN). You can use an existing
  3236. // ASN assigned to your network. If you don't have an ASN already, you can use
  3237. // a private ASN (in the 64512 - 65534 range).
  3238. //
  3239. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  3240. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  3241. // which is reserved in the eu-west-1 region.
  3242. //
  3243. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  3244. // in the AWS Site-to-Site VPN User Guide.
  3245. //
  3246. // You cannot create more than one customer gateway with the same VPN type,
  3247. // IP address, and BGP ASN parameter values. If you run an identical request
  3248. // more than one time, the first request creates the customer gateway, and subsequent
  3249. // requests return information about the existing customer gateway. The subsequent
  3250. // requests do not create new customer gateway resources.
  3251. //
  3252. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3253. // with awserr.Error's Code and Message methods to get detailed information about
  3254. // the error.
  3255. //
  3256. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3257. // API operation CreateCustomerGateway for usage and error information.
  3258. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  3259. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  3260. req, out := c.CreateCustomerGatewayRequest(input)
  3261. return out, req.Send()
  3262. }
  3263. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  3264. // the ability to pass a context and additional request options.
  3265. //
  3266. // See CreateCustomerGateway for details on how to use this API operation.
  3267. //
  3268. // The context must be non-nil and will be used for request cancellation. If
  3269. // the context is nil a panic will occur. In the future the SDK may create
  3270. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3271. // for more information on using Contexts.
  3272. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  3273. req, out := c.CreateCustomerGatewayRequest(input)
  3274. req.SetContext(ctx)
  3275. req.ApplyOptions(opts...)
  3276. return out, req.Send()
  3277. }
  3278. const opCreateDefaultSubnet = "CreateDefaultSubnet"
  3279. // CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
  3280. // client's request for the CreateDefaultSubnet operation. The "output" return
  3281. // value will be populated with the request's response once the request completes
  3282. // successfully.
  3283. //
  3284. // Use "Send" method on the returned Request to send the API call to the service.
  3285. // the "output" return value is not valid until after Send returns without error.
  3286. //
  3287. // See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
  3288. // API call, and error handling.
  3289. //
  3290. // This method is useful when you want to inject custom logic or configuration
  3291. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3292. //
  3293. //
  3294. // // Example sending a request using the CreateDefaultSubnetRequest method.
  3295. // req, resp := client.CreateDefaultSubnetRequest(params)
  3296. //
  3297. // err := req.Send()
  3298. // if err == nil { // resp is now filled
  3299. // fmt.Println(resp)
  3300. // }
  3301. //
  3302. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  3303. func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
  3304. op := &request.Operation{
  3305. Name: opCreateDefaultSubnet,
  3306. HTTPMethod: "POST",
  3307. HTTPPath: "/",
  3308. }
  3309. if input == nil {
  3310. input = &CreateDefaultSubnetInput{}
  3311. }
  3312. output = &CreateDefaultSubnetOutput{}
  3313. req = c.newRequest(op, input, output)
  3314. return
  3315. }
  3316. // CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
  3317. //
  3318. // Creates a default subnet with a size /20 IPv4 CIDR block in the specified
  3319. // Availability Zone in your default VPC. You can have only one default subnet
  3320. // per Availability Zone. For more information, see Creating a Default Subnet
  3321. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet)
  3322. // in the Amazon Virtual Private Cloud User Guide.
  3323. //
  3324. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3325. // with awserr.Error's Code and Message methods to get detailed information about
  3326. // the error.
  3327. //
  3328. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3329. // API operation CreateDefaultSubnet for usage and error information.
  3330. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
  3331. func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
  3332. req, out := c.CreateDefaultSubnetRequest(input)
  3333. return out, req.Send()
  3334. }
  3335. // CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
  3336. // the ability to pass a context and additional request options.
  3337. //
  3338. // See CreateDefaultSubnet for details on how to use this API operation.
  3339. //
  3340. // The context must be non-nil and will be used for request cancellation. If
  3341. // the context is nil a panic will occur. In the future the SDK may create
  3342. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3343. // for more information on using Contexts.
  3344. func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
  3345. req, out := c.CreateDefaultSubnetRequest(input)
  3346. req.SetContext(ctx)
  3347. req.ApplyOptions(opts...)
  3348. return out, req.Send()
  3349. }
  3350. const opCreateDefaultVpc = "CreateDefaultVpc"
  3351. // CreateDefaultVpcRequest generates a "aws/request.Request" representing the
  3352. // client's request for the CreateDefaultVpc operation. The "output" return
  3353. // value will be populated with the request's response once the request completes
  3354. // successfully.
  3355. //
  3356. // Use "Send" method on the returned Request to send the API call to the service.
  3357. // the "output" return value is not valid until after Send returns without error.
  3358. //
  3359. // See CreateDefaultVpc for more information on using the CreateDefaultVpc
  3360. // API call, and error handling.
  3361. //
  3362. // This method is useful when you want to inject custom logic or configuration
  3363. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3364. //
  3365. //
  3366. // // Example sending a request using the CreateDefaultVpcRequest method.
  3367. // req, resp := client.CreateDefaultVpcRequest(params)
  3368. //
  3369. // err := req.Send()
  3370. // if err == nil { // resp is now filled
  3371. // fmt.Println(resp)
  3372. // }
  3373. //
  3374. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  3375. func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
  3376. op := &request.Operation{
  3377. Name: opCreateDefaultVpc,
  3378. HTTPMethod: "POST",
  3379. HTTPPath: "/",
  3380. }
  3381. if input == nil {
  3382. input = &CreateDefaultVpcInput{}
  3383. }
  3384. output = &CreateDefaultVpcOutput{}
  3385. req = c.newRequest(op, input, output)
  3386. return
  3387. }
  3388. // CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
  3389. //
  3390. // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
  3391. // in each Availability Zone. For more information about the components of a
  3392. // default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
  3393. // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
  3394. // of the default VPC yourself.
  3395. //
  3396. // If you deleted your previous default VPC, you can create a default VPC. You
  3397. // cannot have more than one default VPC per Region.
  3398. //
  3399. // If your account supports EC2-Classic, you cannot use this action to create
  3400. // a default VPC in a Region that supports EC2-Classic. If you want a default
  3401. // VPC in a Region that supports EC2-Classic, see "I really want a default VPC
  3402. // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
  3403. //
  3404. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3405. // with awserr.Error's Code and Message methods to get detailed information about
  3406. // the error.
  3407. //
  3408. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3409. // API operation CreateDefaultVpc for usage and error information.
  3410. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  3411. func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
  3412. req, out := c.CreateDefaultVpcRequest(input)
  3413. return out, req.Send()
  3414. }
  3415. // CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
  3416. // the ability to pass a context and additional request options.
  3417. //
  3418. // See CreateDefaultVpc for details on how to use this API operation.
  3419. //
  3420. // The context must be non-nil and will be used for request cancellation. If
  3421. // the context is nil a panic will occur. In the future the SDK may create
  3422. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3423. // for more information on using Contexts.
  3424. func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
  3425. req, out := c.CreateDefaultVpcRequest(input)
  3426. req.SetContext(ctx)
  3427. req.ApplyOptions(opts...)
  3428. return out, req.Send()
  3429. }
  3430. const opCreateDhcpOptions = "CreateDhcpOptions"
  3431. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  3432. // client's request for the CreateDhcpOptions operation. The "output" return
  3433. // value will be populated with the request's response once the request completes
  3434. // successfully.
  3435. //
  3436. // Use "Send" method on the returned Request to send the API call to the service.
  3437. // the "output" return value is not valid until after Send returns without error.
  3438. //
  3439. // See CreateDhcpOptions for more information on using the CreateDhcpOptions
  3440. // API call, and error handling.
  3441. //
  3442. // This method is useful when you want to inject custom logic or configuration
  3443. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3444. //
  3445. //
  3446. // // Example sending a request using the CreateDhcpOptionsRequest method.
  3447. // req, resp := client.CreateDhcpOptionsRequest(params)
  3448. //
  3449. // err := req.Send()
  3450. // if err == nil { // resp is now filled
  3451. // fmt.Println(resp)
  3452. // }
  3453. //
  3454. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  3455. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  3456. op := &request.Operation{
  3457. Name: opCreateDhcpOptions,
  3458. HTTPMethod: "POST",
  3459. HTTPPath: "/",
  3460. }
  3461. if input == nil {
  3462. input = &CreateDhcpOptionsInput{}
  3463. }
  3464. output = &CreateDhcpOptionsOutput{}
  3465. req = c.newRequest(op, input, output)
  3466. return
  3467. }
  3468. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  3469. //
  3470. // Creates a set of DHCP options for your VPC. After creating the set, you must
  3471. // associate it with the VPC, causing all existing and new instances that you
  3472. // launch in the VPC to use this set of DHCP options. The following are the
  3473. // individual DHCP options you can specify. For more information about the options,
  3474. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  3475. //
  3476. // * domain-name-servers - The IP addresses of up to four domain name servers,
  3477. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  3478. // If specifying more than one domain name server, specify the IP addresses
  3479. // in a single parameter, separated by commas. ITo have your instance to
  3480. // receive a custom DNS hostname as specified in domain-name, you must set
  3481. // domain-name-servers to a custom DNS server.
  3482. //
  3483. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  3484. // ec2.internal. If you're using AmazonProvidedDNS in another region, specify
  3485. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  3486. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  3487. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  3488. // systems accept multiple domain names separated by spaces. However, Windows
  3489. // and other Linux operating systems treat the value as a single domain,
  3490. // which results in unexpected behavior. If your DHCP options set is associated
  3491. // with a VPC that has instances with multiple operating systems, specify
  3492. // only one domain name.
  3493. //
  3494. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  3495. // servers.
  3496. //
  3497. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  3498. //
  3499. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  3500. // that you specify 2 (broadcast and multicast are not currently supported).
  3501. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  3502. //
  3503. // Your VPC automatically starts out with a set of DHCP options that includes
  3504. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  3505. // of options, and if your VPC has an internet gateway, make sure to set the
  3506. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  3507. // server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  3508. // in the Amazon Virtual Private Cloud User Guide.
  3509. //
  3510. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3511. // with awserr.Error's Code and Message methods to get detailed information about
  3512. // the error.
  3513. //
  3514. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3515. // API operation CreateDhcpOptions for usage and error information.
  3516. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  3517. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  3518. req, out := c.CreateDhcpOptionsRequest(input)
  3519. return out, req.Send()
  3520. }
  3521. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  3522. // the ability to pass a context and additional request options.
  3523. //
  3524. // See CreateDhcpOptions for details on how to use this API operation.
  3525. //
  3526. // The context must be non-nil and will be used for request cancellation. If
  3527. // the context is nil a panic will occur. In the future the SDK may create
  3528. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3529. // for more information on using Contexts.
  3530. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  3531. req, out := c.CreateDhcpOptionsRequest(input)
  3532. req.SetContext(ctx)
  3533. req.ApplyOptions(opts...)
  3534. return out, req.Send()
  3535. }
  3536. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  3537. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  3538. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  3539. // value will be populated with the request's response once the request completes
  3540. // successfully.
  3541. //
  3542. // Use "Send" method on the returned Request to send the API call to the service.
  3543. // the "output" return value is not valid until after Send returns without error.
  3544. //
  3545. // See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
  3546. // API call, and error handling.
  3547. //
  3548. // This method is useful when you want to inject custom logic or configuration
  3549. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3550. //
  3551. //
  3552. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  3553. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  3554. //
  3555. // err := req.Send()
  3556. // if err == nil { // resp is now filled
  3557. // fmt.Println(resp)
  3558. // }
  3559. //
  3560. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  3561. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  3562. op := &request.Operation{
  3563. Name: opCreateEgressOnlyInternetGateway,
  3564. HTTPMethod: "POST",
  3565. HTTPPath: "/",
  3566. }
  3567. if input == nil {
  3568. input = &CreateEgressOnlyInternetGatewayInput{}
  3569. }
  3570. output = &CreateEgressOnlyInternetGatewayOutput{}
  3571. req = c.newRequest(op, input, output)
  3572. return
  3573. }
  3574. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  3575. //
  3576. // [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
  3577. // internet gateway is used to enable outbound communication over IPv6 from
  3578. // instances in your VPC to the internet, and prevents hosts outside of your
  3579. // VPC from initiating an IPv6 connection with your instance.
  3580. //
  3581. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3582. // with awserr.Error's Code and Message methods to get detailed information about
  3583. // the error.
  3584. //
  3585. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3586. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  3587. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  3588. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  3589. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  3590. return out, req.Send()
  3591. }
  3592. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  3593. // the ability to pass a context and additional request options.
  3594. //
  3595. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  3596. //
  3597. // The context must be non-nil and will be used for request cancellation. If
  3598. // the context is nil a panic will occur. In the future the SDK may create
  3599. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3600. // for more information on using Contexts.
  3601. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  3602. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  3603. req.SetContext(ctx)
  3604. req.ApplyOptions(opts...)
  3605. return out, req.Send()
  3606. }
  3607. const opCreateFleet = "CreateFleet"
  3608. // CreateFleetRequest generates a "aws/request.Request" representing the
  3609. // client's request for the CreateFleet operation. The "output" return
  3610. // value will be populated with the request's response once the request completes
  3611. // successfully.
  3612. //
  3613. // Use "Send" method on the returned Request to send the API call to the service.
  3614. // the "output" return value is not valid until after Send returns without error.
  3615. //
  3616. // See CreateFleet for more information on using the CreateFleet
  3617. // API call, and error handling.
  3618. //
  3619. // This method is useful when you want to inject custom logic or configuration
  3620. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3621. //
  3622. //
  3623. // // Example sending a request using the CreateFleetRequest method.
  3624. // req, resp := client.CreateFleetRequest(params)
  3625. //
  3626. // err := req.Send()
  3627. // if err == nil { // resp is now filled
  3628. // fmt.Println(resp)
  3629. // }
  3630. //
  3631. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  3632. func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
  3633. op := &request.Operation{
  3634. Name: opCreateFleet,
  3635. HTTPMethod: "POST",
  3636. HTTPPath: "/",
  3637. }
  3638. if input == nil {
  3639. input = &CreateFleetInput{}
  3640. }
  3641. output = &CreateFleetOutput{}
  3642. req = c.newRequest(op, input, output)
  3643. return
  3644. }
  3645. // CreateFleet API operation for Amazon Elastic Compute Cloud.
  3646. //
  3647. // Launches an EC2 Fleet.
  3648. //
  3649. // You can create a single EC2 Fleet that includes multiple launch specifications
  3650. // that vary by instance type, AMI, Availability Zone, or subnet.
  3651. //
  3652. // For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
  3653. // in the Amazon Elastic Compute Cloud User Guide.
  3654. //
  3655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3656. // with awserr.Error's Code and Message methods to get detailed information about
  3657. // the error.
  3658. //
  3659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3660. // API operation CreateFleet for usage and error information.
  3661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
  3662. func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
  3663. req, out := c.CreateFleetRequest(input)
  3664. return out, req.Send()
  3665. }
  3666. // CreateFleetWithContext is the same as CreateFleet with the addition of
  3667. // the ability to pass a context and additional request options.
  3668. //
  3669. // See CreateFleet for details on how to use this API operation.
  3670. //
  3671. // The context must be non-nil and will be used for request cancellation. If
  3672. // the context is nil a panic will occur. In the future the SDK may create
  3673. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3674. // for more information on using Contexts.
  3675. func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
  3676. req, out := c.CreateFleetRequest(input)
  3677. req.SetContext(ctx)
  3678. req.ApplyOptions(opts...)
  3679. return out, req.Send()
  3680. }
  3681. const opCreateFlowLogs = "CreateFlowLogs"
  3682. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  3683. // client's request for the CreateFlowLogs operation. The "output" return
  3684. // value will be populated with the request's response once the request completes
  3685. // successfully.
  3686. //
  3687. // Use "Send" method on the returned Request to send the API call to the service.
  3688. // the "output" return value is not valid until after Send returns without error.
  3689. //
  3690. // See CreateFlowLogs for more information on using the CreateFlowLogs
  3691. // API call, and error handling.
  3692. //
  3693. // This method is useful when you want to inject custom logic or configuration
  3694. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3695. //
  3696. //
  3697. // // Example sending a request using the CreateFlowLogsRequest method.
  3698. // req, resp := client.CreateFlowLogsRequest(params)
  3699. //
  3700. // err := req.Send()
  3701. // if err == nil { // resp is now filled
  3702. // fmt.Println(resp)
  3703. // }
  3704. //
  3705. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  3706. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  3707. op := &request.Operation{
  3708. Name: opCreateFlowLogs,
  3709. HTTPMethod: "POST",
  3710. HTTPPath: "/",
  3711. }
  3712. if input == nil {
  3713. input = &CreateFlowLogsInput{}
  3714. }
  3715. output = &CreateFlowLogsOutput{}
  3716. req = c.newRequest(op, input, output)
  3717. return
  3718. }
  3719. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  3720. //
  3721. // Creates one or more flow logs to capture information about IP traffic for
  3722. // a specific network interface, subnet, or VPC.
  3723. //
  3724. // Flow log data for a monitored network interface is recorded as flow log records,
  3725. // which are log events consisting of fields that describe the traffic flow.
  3726. // For more information, see Flow Log Records (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records)
  3727. // in the Amazon Virtual Private Cloud User Guide.
  3728. //
  3729. // When publishing to CloudWatch Logs, flow log records are published to a log
  3730. // group, and each network interface has a unique log stream in the log group.
  3731. // When publishing to Amazon S3, flow log records for all of the monitored network
  3732. // interfaces are published to a single log file object that is stored in the
  3733. // specified bucket.
  3734. //
  3735. // For more information, see VPC Flow Logs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)
  3736. // in the Amazon Virtual Private Cloud User Guide.
  3737. //
  3738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3739. // with awserr.Error's Code and Message methods to get detailed information about
  3740. // the error.
  3741. //
  3742. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3743. // API operation CreateFlowLogs for usage and error information.
  3744. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  3745. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  3746. req, out := c.CreateFlowLogsRequest(input)
  3747. return out, req.Send()
  3748. }
  3749. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  3750. // the ability to pass a context and additional request options.
  3751. //
  3752. // See CreateFlowLogs for details on how to use this API operation.
  3753. //
  3754. // The context must be non-nil and will be used for request cancellation. If
  3755. // the context is nil a panic will occur. In the future the SDK may create
  3756. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3757. // for more information on using Contexts.
  3758. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  3759. req, out := c.CreateFlowLogsRequest(input)
  3760. req.SetContext(ctx)
  3761. req.ApplyOptions(opts...)
  3762. return out, req.Send()
  3763. }
  3764. const opCreateFpgaImage = "CreateFpgaImage"
  3765. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  3766. // client's request for the CreateFpgaImage operation. The "output" return
  3767. // value will be populated with the request's response once the request completes
  3768. // successfully.
  3769. //
  3770. // Use "Send" method on the returned Request to send the API call to the service.
  3771. // the "output" return value is not valid until after Send returns without error.
  3772. //
  3773. // See CreateFpgaImage for more information on using the CreateFpgaImage
  3774. // API call, and error handling.
  3775. //
  3776. // This method is useful when you want to inject custom logic or configuration
  3777. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3778. //
  3779. //
  3780. // // Example sending a request using the CreateFpgaImageRequest method.
  3781. // req, resp := client.CreateFpgaImageRequest(params)
  3782. //
  3783. // err := req.Send()
  3784. // if err == nil { // resp is now filled
  3785. // fmt.Println(resp)
  3786. // }
  3787. //
  3788. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3789. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  3790. op := &request.Operation{
  3791. Name: opCreateFpgaImage,
  3792. HTTPMethod: "POST",
  3793. HTTPPath: "/",
  3794. }
  3795. if input == nil {
  3796. input = &CreateFpgaImageInput{}
  3797. }
  3798. output = &CreateFpgaImageOutput{}
  3799. req = c.newRequest(op, input, output)
  3800. return
  3801. }
  3802. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  3803. //
  3804. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  3805. //
  3806. // The create operation is asynchronous. To verify that the AFI is ready for
  3807. // use, check the output logs.
  3808. //
  3809. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  3810. // You can securely deploy an AFI on one or more FPGA-accelerated instances.
  3811. // For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  3812. //
  3813. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3814. // with awserr.Error's Code and Message methods to get detailed information about
  3815. // the error.
  3816. //
  3817. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3818. // API operation CreateFpgaImage for usage and error information.
  3819. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  3820. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  3821. req, out := c.CreateFpgaImageRequest(input)
  3822. return out, req.Send()
  3823. }
  3824. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  3825. // the ability to pass a context and additional request options.
  3826. //
  3827. // See CreateFpgaImage for details on how to use this API operation.
  3828. //
  3829. // The context must be non-nil and will be used for request cancellation. If
  3830. // the context is nil a panic will occur. In the future the SDK may create
  3831. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3832. // for more information on using Contexts.
  3833. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  3834. req, out := c.CreateFpgaImageRequest(input)
  3835. req.SetContext(ctx)
  3836. req.ApplyOptions(opts...)
  3837. return out, req.Send()
  3838. }
  3839. const opCreateImage = "CreateImage"
  3840. // CreateImageRequest generates a "aws/request.Request" representing the
  3841. // client's request for the CreateImage operation. The "output" return
  3842. // value will be populated with the request's response once the request completes
  3843. // successfully.
  3844. //
  3845. // Use "Send" method on the returned Request to send the API call to the service.
  3846. // the "output" return value is not valid until after Send returns without error.
  3847. //
  3848. // See CreateImage for more information on using the CreateImage
  3849. // API call, and error handling.
  3850. //
  3851. // This method is useful when you want to inject custom logic or configuration
  3852. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3853. //
  3854. //
  3855. // // Example sending a request using the CreateImageRequest method.
  3856. // req, resp := client.CreateImageRequest(params)
  3857. //
  3858. // err := req.Send()
  3859. // if err == nil { // resp is now filled
  3860. // fmt.Println(resp)
  3861. // }
  3862. //
  3863. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3864. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  3865. op := &request.Operation{
  3866. Name: opCreateImage,
  3867. HTTPMethod: "POST",
  3868. HTTPPath: "/",
  3869. }
  3870. if input == nil {
  3871. input = &CreateImageInput{}
  3872. }
  3873. output = &CreateImageOutput{}
  3874. req = c.newRequest(op, input, output)
  3875. return
  3876. }
  3877. // CreateImage API operation for Amazon Elastic Compute Cloud.
  3878. //
  3879. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  3880. // is either running or stopped.
  3881. //
  3882. // If you customized your instance with instance store volumes or EBS volumes
  3883. // in addition to the root device volume, the new AMI contains block device
  3884. // mapping information for those volumes. When you launch an instance from this
  3885. // new AMI, the instance automatically launches with those additional volumes.
  3886. //
  3887. // For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  3888. // in the Amazon Elastic Compute Cloud User Guide.
  3889. //
  3890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3891. // with awserr.Error's Code and Message methods to get detailed information about
  3892. // the error.
  3893. //
  3894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3895. // API operation CreateImage for usage and error information.
  3896. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  3897. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  3898. req, out := c.CreateImageRequest(input)
  3899. return out, req.Send()
  3900. }
  3901. // CreateImageWithContext is the same as CreateImage with the addition of
  3902. // the ability to pass a context and additional request options.
  3903. //
  3904. // See CreateImage for details on how to use this API operation.
  3905. //
  3906. // The context must be non-nil and will be used for request cancellation. If
  3907. // the context is nil a panic will occur. In the future the SDK may create
  3908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3909. // for more information on using Contexts.
  3910. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  3911. req, out := c.CreateImageRequest(input)
  3912. req.SetContext(ctx)
  3913. req.ApplyOptions(opts...)
  3914. return out, req.Send()
  3915. }
  3916. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  3917. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  3918. // client's request for the CreateInstanceExportTask operation. The "output" return
  3919. // value will be populated with the request's response once the request completes
  3920. // successfully.
  3921. //
  3922. // Use "Send" method on the returned Request to send the API call to the service.
  3923. // the "output" return value is not valid until after Send returns without error.
  3924. //
  3925. // See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
  3926. // API call, and error handling.
  3927. //
  3928. // This method is useful when you want to inject custom logic or configuration
  3929. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3930. //
  3931. //
  3932. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  3933. // req, resp := client.CreateInstanceExportTaskRequest(params)
  3934. //
  3935. // err := req.Send()
  3936. // if err == nil { // resp is now filled
  3937. // fmt.Println(resp)
  3938. // }
  3939. //
  3940. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3941. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  3942. op := &request.Operation{
  3943. Name: opCreateInstanceExportTask,
  3944. HTTPMethod: "POST",
  3945. HTTPPath: "/",
  3946. }
  3947. if input == nil {
  3948. input = &CreateInstanceExportTaskInput{}
  3949. }
  3950. output = &CreateInstanceExportTaskOutput{}
  3951. req = c.newRequest(op, input, output)
  3952. return
  3953. }
  3954. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  3955. //
  3956. // Exports a running or stopped instance to an S3 bucket.
  3957. //
  3958. // For information about the supported operating systems, image formats, and
  3959. // known limitations for the types of instances you can export, see Exporting
  3960. // an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  3961. // in the VM Import/Export User Guide.
  3962. //
  3963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3964. // with awserr.Error's Code and Message methods to get detailed information about
  3965. // the error.
  3966. //
  3967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3968. // API operation CreateInstanceExportTask for usage and error information.
  3969. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  3970. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  3971. req, out := c.CreateInstanceExportTaskRequest(input)
  3972. return out, req.Send()
  3973. }
  3974. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  3975. // the ability to pass a context and additional request options.
  3976. //
  3977. // See CreateInstanceExportTask for details on how to use this API operation.
  3978. //
  3979. // The context must be non-nil and will be used for request cancellation. If
  3980. // the context is nil a panic will occur. In the future the SDK may create
  3981. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3982. // for more information on using Contexts.
  3983. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  3984. req, out := c.CreateInstanceExportTaskRequest(input)
  3985. req.SetContext(ctx)
  3986. req.ApplyOptions(opts...)
  3987. return out, req.Send()
  3988. }
  3989. const opCreateInternetGateway = "CreateInternetGateway"
  3990. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  3991. // client's request for the CreateInternetGateway operation. The "output" return
  3992. // value will be populated with the request's response once the request completes
  3993. // successfully.
  3994. //
  3995. // Use "Send" method on the returned Request to send the API call to the service.
  3996. // the "output" return value is not valid until after Send returns without error.
  3997. //
  3998. // See CreateInternetGateway for more information on using the CreateInternetGateway
  3999. // API call, and error handling.
  4000. //
  4001. // This method is useful when you want to inject custom logic or configuration
  4002. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4003. //
  4004. //
  4005. // // Example sending a request using the CreateInternetGatewayRequest method.
  4006. // req, resp := client.CreateInternetGatewayRequest(params)
  4007. //
  4008. // err := req.Send()
  4009. // if err == nil { // resp is now filled
  4010. // fmt.Println(resp)
  4011. // }
  4012. //
  4013. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  4014. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  4015. op := &request.Operation{
  4016. Name: opCreateInternetGateway,
  4017. HTTPMethod: "POST",
  4018. HTTPPath: "/",
  4019. }
  4020. if input == nil {
  4021. input = &CreateInternetGatewayInput{}
  4022. }
  4023. output = &CreateInternetGatewayOutput{}
  4024. req = c.newRequest(op, input, output)
  4025. return
  4026. }
  4027. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  4028. //
  4029. // Creates an internet gateway for use with a VPC. After creating the internet
  4030. // gateway, you attach it to a VPC using AttachInternetGateway.
  4031. //
  4032. // For more information about your VPC and internet gateway, see the Amazon
  4033. // Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  4034. //
  4035. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4036. // with awserr.Error's Code and Message methods to get detailed information about
  4037. // the error.
  4038. //
  4039. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4040. // API operation CreateInternetGateway for usage and error information.
  4041. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  4042. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  4043. req, out := c.CreateInternetGatewayRequest(input)
  4044. return out, req.Send()
  4045. }
  4046. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  4047. // the ability to pass a context and additional request options.
  4048. //
  4049. // See CreateInternetGateway for details on how to use this API operation.
  4050. //
  4051. // The context must be non-nil and will be used for request cancellation. If
  4052. // the context is nil a panic will occur. In the future the SDK may create
  4053. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4054. // for more information on using Contexts.
  4055. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  4056. req, out := c.CreateInternetGatewayRequest(input)
  4057. req.SetContext(ctx)
  4058. req.ApplyOptions(opts...)
  4059. return out, req.Send()
  4060. }
  4061. const opCreateKeyPair = "CreateKeyPair"
  4062. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  4063. // client's request for the CreateKeyPair operation. The "output" return
  4064. // value will be populated with the request's response once the request completes
  4065. // successfully.
  4066. //
  4067. // Use "Send" method on the returned Request to send the API call to the service.
  4068. // the "output" return value is not valid until after Send returns without error.
  4069. //
  4070. // See CreateKeyPair for more information on using the CreateKeyPair
  4071. // API call, and error handling.
  4072. //
  4073. // This method is useful when you want to inject custom logic or configuration
  4074. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4075. //
  4076. //
  4077. // // Example sending a request using the CreateKeyPairRequest method.
  4078. // req, resp := client.CreateKeyPairRequest(params)
  4079. //
  4080. // err := req.Send()
  4081. // if err == nil { // resp is now filled
  4082. // fmt.Println(resp)
  4083. // }
  4084. //
  4085. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  4086. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  4087. op := &request.Operation{
  4088. Name: opCreateKeyPair,
  4089. HTTPMethod: "POST",
  4090. HTTPPath: "/",
  4091. }
  4092. if input == nil {
  4093. input = &CreateKeyPairInput{}
  4094. }
  4095. output = &CreateKeyPairOutput{}
  4096. req = c.newRequest(op, input, output)
  4097. return
  4098. }
  4099. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  4100. //
  4101. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  4102. // the public key and displays the private key for you to save to a file. The
  4103. // private key is returned as an unencrypted PEM encoded PKCS#1 private key.
  4104. // If a key with the specified name already exists, Amazon EC2 returns an error.
  4105. //
  4106. // You can have up to five thousand key pairs per region.
  4107. //
  4108. // The key pair returned to you is available only in the region in which you
  4109. // create it. If you prefer, you can create your own key pair using a third-party
  4110. // tool and upload it to any region using ImportKeyPair.
  4111. //
  4112. // For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  4113. // in the Amazon Elastic Compute Cloud User Guide.
  4114. //
  4115. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4116. // with awserr.Error's Code and Message methods to get detailed information about
  4117. // the error.
  4118. //
  4119. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4120. // API operation CreateKeyPair for usage and error information.
  4121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  4122. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  4123. req, out := c.CreateKeyPairRequest(input)
  4124. return out, req.Send()
  4125. }
  4126. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  4127. // the ability to pass a context and additional request options.
  4128. //
  4129. // See CreateKeyPair for details on how to use this API operation.
  4130. //
  4131. // The context must be non-nil and will be used for request cancellation. If
  4132. // the context is nil a panic will occur. In the future the SDK may create
  4133. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4134. // for more information on using Contexts.
  4135. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  4136. req, out := c.CreateKeyPairRequest(input)
  4137. req.SetContext(ctx)
  4138. req.ApplyOptions(opts...)
  4139. return out, req.Send()
  4140. }
  4141. const opCreateLaunchTemplate = "CreateLaunchTemplate"
  4142. // CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
  4143. // client's request for the CreateLaunchTemplate operation. The "output" return
  4144. // value will be populated with the request's response once the request completes
  4145. // successfully.
  4146. //
  4147. // Use "Send" method on the returned Request to send the API call to the service.
  4148. // the "output" return value is not valid until after Send returns without error.
  4149. //
  4150. // See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
  4151. // API call, and error handling.
  4152. //
  4153. // This method is useful when you want to inject custom logic or configuration
  4154. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4155. //
  4156. //
  4157. // // Example sending a request using the CreateLaunchTemplateRequest method.
  4158. // req, resp := client.CreateLaunchTemplateRequest(params)
  4159. //
  4160. // err := req.Send()
  4161. // if err == nil { // resp is now filled
  4162. // fmt.Println(resp)
  4163. // }
  4164. //
  4165. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  4166. func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
  4167. op := &request.Operation{
  4168. Name: opCreateLaunchTemplate,
  4169. HTTPMethod: "POST",
  4170. HTTPPath: "/",
  4171. }
  4172. if input == nil {
  4173. input = &CreateLaunchTemplateInput{}
  4174. }
  4175. output = &CreateLaunchTemplateOutput{}
  4176. req = c.newRequest(op, input, output)
  4177. return
  4178. }
  4179. // CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  4180. //
  4181. // Creates a launch template. A launch template contains the parameters to launch
  4182. // an instance. When you launch an instance using RunInstances, you can specify
  4183. // a launch template instead of providing the launch parameters in the request.
  4184. //
  4185. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4186. // with awserr.Error's Code and Message methods to get detailed information about
  4187. // the error.
  4188. //
  4189. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4190. // API operation CreateLaunchTemplate for usage and error information.
  4191. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
  4192. func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
  4193. req, out := c.CreateLaunchTemplateRequest(input)
  4194. return out, req.Send()
  4195. }
  4196. // CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
  4197. // the ability to pass a context and additional request options.
  4198. //
  4199. // See CreateLaunchTemplate for details on how to use this API operation.
  4200. //
  4201. // The context must be non-nil and will be used for request cancellation. If
  4202. // the context is nil a panic will occur. In the future the SDK may create
  4203. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4204. // for more information on using Contexts.
  4205. func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
  4206. req, out := c.CreateLaunchTemplateRequest(input)
  4207. req.SetContext(ctx)
  4208. req.ApplyOptions(opts...)
  4209. return out, req.Send()
  4210. }
  4211. const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
  4212. // CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
  4213. // client's request for the CreateLaunchTemplateVersion operation. The "output" return
  4214. // value will be populated with the request's response once the request completes
  4215. // successfully.
  4216. //
  4217. // Use "Send" method on the returned Request to send the API call to the service.
  4218. // the "output" return value is not valid until after Send returns without error.
  4219. //
  4220. // See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
  4221. // API call, and error handling.
  4222. //
  4223. // This method is useful when you want to inject custom logic or configuration
  4224. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4225. //
  4226. //
  4227. // // Example sending a request using the CreateLaunchTemplateVersionRequest method.
  4228. // req, resp := client.CreateLaunchTemplateVersionRequest(params)
  4229. //
  4230. // err := req.Send()
  4231. // if err == nil { // resp is now filled
  4232. // fmt.Println(resp)
  4233. // }
  4234. //
  4235. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  4236. func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
  4237. op := &request.Operation{
  4238. Name: opCreateLaunchTemplateVersion,
  4239. HTTPMethod: "POST",
  4240. HTTPPath: "/",
  4241. }
  4242. if input == nil {
  4243. input = &CreateLaunchTemplateVersionInput{}
  4244. }
  4245. output = &CreateLaunchTemplateVersionOutput{}
  4246. req = c.newRequest(op, input, output)
  4247. return
  4248. }
  4249. // CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
  4250. //
  4251. // Creates a new version for a launch template. You can specify an existing
  4252. // version of launch template from which to base the new version.
  4253. //
  4254. // Launch template versions are numbered in the order in which they are created.
  4255. // You cannot specify, change, or replace the numbering of launch template versions.
  4256. //
  4257. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4258. // with awserr.Error's Code and Message methods to get detailed information about
  4259. // the error.
  4260. //
  4261. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4262. // API operation CreateLaunchTemplateVersion for usage and error information.
  4263. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
  4264. func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
  4265. req, out := c.CreateLaunchTemplateVersionRequest(input)
  4266. return out, req.Send()
  4267. }
  4268. // CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
  4269. // the ability to pass a context and additional request options.
  4270. //
  4271. // See CreateLaunchTemplateVersion for details on how to use this API operation.
  4272. //
  4273. // The context must be non-nil and will be used for request cancellation. If
  4274. // the context is nil a panic will occur. In the future the SDK may create
  4275. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4276. // for more information on using Contexts.
  4277. func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
  4278. req, out := c.CreateLaunchTemplateVersionRequest(input)
  4279. req.SetContext(ctx)
  4280. req.ApplyOptions(opts...)
  4281. return out, req.Send()
  4282. }
  4283. const opCreateNatGateway = "CreateNatGateway"
  4284. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  4285. // client's request for the CreateNatGateway operation. The "output" return
  4286. // value will be populated with the request's response once the request completes
  4287. // successfully.
  4288. //
  4289. // Use "Send" method on the returned Request to send the API call to the service.
  4290. // the "output" return value is not valid until after Send returns without error.
  4291. //
  4292. // See CreateNatGateway for more information on using the CreateNatGateway
  4293. // API call, and error handling.
  4294. //
  4295. // This method is useful when you want to inject custom logic or configuration
  4296. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4297. //
  4298. //
  4299. // // Example sending a request using the CreateNatGatewayRequest method.
  4300. // req, resp := client.CreateNatGatewayRequest(params)
  4301. //
  4302. // err := req.Send()
  4303. // if err == nil { // resp is now filled
  4304. // fmt.Println(resp)
  4305. // }
  4306. //
  4307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  4308. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  4309. op := &request.Operation{
  4310. Name: opCreateNatGateway,
  4311. HTTPMethod: "POST",
  4312. HTTPPath: "/",
  4313. }
  4314. if input == nil {
  4315. input = &CreateNatGatewayInput{}
  4316. }
  4317. output = &CreateNatGatewayOutput{}
  4318. req = c.newRequest(op, input, output)
  4319. return
  4320. }
  4321. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  4322. //
  4323. // Creates a NAT gateway in the specified public subnet. This action creates
  4324. // a network interface in the specified subnet with a private IP address from
  4325. // the IP address range of the subnet. Internet-bound traffic from a private
  4326. // subnet can be routed to the NAT gateway, therefore enabling instances in
  4327. // the private subnet to connect to the internet. For more information, see
  4328. // NAT Gateways (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  4329. // in the Amazon Virtual Private Cloud User Guide.
  4330. //
  4331. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4332. // with awserr.Error's Code and Message methods to get detailed information about
  4333. // the error.
  4334. //
  4335. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4336. // API operation CreateNatGateway for usage and error information.
  4337. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  4338. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  4339. req, out := c.CreateNatGatewayRequest(input)
  4340. return out, req.Send()
  4341. }
  4342. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  4343. // the ability to pass a context and additional request options.
  4344. //
  4345. // See CreateNatGateway for details on how to use this API operation.
  4346. //
  4347. // The context must be non-nil and will be used for request cancellation. If
  4348. // the context is nil a panic will occur. In the future the SDK may create
  4349. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4350. // for more information on using Contexts.
  4351. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  4352. req, out := c.CreateNatGatewayRequest(input)
  4353. req.SetContext(ctx)
  4354. req.ApplyOptions(opts...)
  4355. return out, req.Send()
  4356. }
  4357. const opCreateNetworkAcl = "CreateNetworkAcl"
  4358. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  4359. // client's request for the CreateNetworkAcl operation. The "output" return
  4360. // value will be populated with the request's response once the request completes
  4361. // successfully.
  4362. //
  4363. // Use "Send" method on the returned Request to send the API call to the service.
  4364. // the "output" return value is not valid until after Send returns without error.
  4365. //
  4366. // See CreateNetworkAcl for more information on using the CreateNetworkAcl
  4367. // API call, and error handling.
  4368. //
  4369. // This method is useful when you want to inject custom logic or configuration
  4370. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4371. //
  4372. //
  4373. // // Example sending a request using the CreateNetworkAclRequest method.
  4374. // req, resp := client.CreateNetworkAclRequest(params)
  4375. //
  4376. // err := req.Send()
  4377. // if err == nil { // resp is now filled
  4378. // fmt.Println(resp)
  4379. // }
  4380. //
  4381. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  4382. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  4383. op := &request.Operation{
  4384. Name: opCreateNetworkAcl,
  4385. HTTPMethod: "POST",
  4386. HTTPPath: "/",
  4387. }
  4388. if input == nil {
  4389. input = &CreateNetworkAclInput{}
  4390. }
  4391. output = &CreateNetworkAclOutput{}
  4392. req = c.newRequest(op, input, output)
  4393. return
  4394. }
  4395. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  4396. //
  4397. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  4398. // security (in addition to security groups) for the instances in your VPC.
  4399. //
  4400. // For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  4401. // in the Amazon Virtual Private Cloud User Guide.
  4402. //
  4403. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4404. // with awserr.Error's Code and Message methods to get detailed information about
  4405. // the error.
  4406. //
  4407. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4408. // API operation CreateNetworkAcl for usage and error information.
  4409. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  4410. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  4411. req, out := c.CreateNetworkAclRequest(input)
  4412. return out, req.Send()
  4413. }
  4414. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  4415. // the ability to pass a context and additional request options.
  4416. //
  4417. // See CreateNetworkAcl for details on how to use this API operation.
  4418. //
  4419. // The context must be non-nil and will be used for request cancellation. If
  4420. // the context is nil a panic will occur. In the future the SDK may create
  4421. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4422. // for more information on using Contexts.
  4423. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  4424. req, out := c.CreateNetworkAclRequest(input)
  4425. req.SetContext(ctx)
  4426. req.ApplyOptions(opts...)
  4427. return out, req.Send()
  4428. }
  4429. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  4430. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  4431. // client's request for the CreateNetworkAclEntry operation. The "output" return
  4432. // value will be populated with the request's response once the request completes
  4433. // successfully.
  4434. //
  4435. // Use "Send" method on the returned Request to send the API call to the service.
  4436. // the "output" return value is not valid until after Send returns without error.
  4437. //
  4438. // See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
  4439. // API call, and error handling.
  4440. //
  4441. // This method is useful when you want to inject custom logic or configuration
  4442. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4443. //
  4444. //
  4445. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  4446. // req, resp := client.CreateNetworkAclEntryRequest(params)
  4447. //
  4448. // err := req.Send()
  4449. // if err == nil { // resp is now filled
  4450. // fmt.Println(resp)
  4451. // }
  4452. //
  4453. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  4454. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  4455. op := &request.Operation{
  4456. Name: opCreateNetworkAclEntry,
  4457. HTTPMethod: "POST",
  4458. HTTPPath: "/",
  4459. }
  4460. if input == nil {
  4461. input = &CreateNetworkAclEntryInput{}
  4462. }
  4463. output = &CreateNetworkAclEntryOutput{}
  4464. req = c.newRequest(op, input, output)
  4465. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4466. return
  4467. }
  4468. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  4469. //
  4470. // Creates an entry (a rule) in a network ACL with the specified rule number.
  4471. // Each network ACL has a set of numbered ingress rules and a separate set of
  4472. // numbered egress rules. When determining whether a packet should be allowed
  4473. // in or out of a subnet associated with the ACL, we process the entries in
  4474. // the ACL according to the rule numbers, in ascending order. Each network ACL
  4475. // has a set of ingress rules and a separate set of egress rules.
  4476. //
  4477. // We recommend that you leave room between the rule numbers (for example, 100,
  4478. // 110, 120, ...), and not number them one right after the other (for example,
  4479. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  4480. // ones without having to renumber the rules.
  4481. //
  4482. // After you add an entry, you can't modify it; you must either replace it,
  4483. // or create an entry and delete the old one.
  4484. //
  4485. // For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  4486. // in the Amazon Virtual Private Cloud User Guide.
  4487. //
  4488. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4489. // with awserr.Error's Code and Message methods to get detailed information about
  4490. // the error.
  4491. //
  4492. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4493. // API operation CreateNetworkAclEntry for usage and error information.
  4494. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  4495. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  4496. req, out := c.CreateNetworkAclEntryRequest(input)
  4497. return out, req.Send()
  4498. }
  4499. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  4500. // the ability to pass a context and additional request options.
  4501. //
  4502. // See CreateNetworkAclEntry for details on how to use this API operation.
  4503. //
  4504. // The context must be non-nil and will be used for request cancellation. If
  4505. // the context is nil a panic will occur. In the future the SDK may create
  4506. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4507. // for more information on using Contexts.
  4508. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  4509. req, out := c.CreateNetworkAclEntryRequest(input)
  4510. req.SetContext(ctx)
  4511. req.ApplyOptions(opts...)
  4512. return out, req.Send()
  4513. }
  4514. const opCreateNetworkInterface = "CreateNetworkInterface"
  4515. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  4516. // client's request for the CreateNetworkInterface operation. The "output" return
  4517. // value will be populated with the request's response once the request completes
  4518. // successfully.
  4519. //
  4520. // Use "Send" method on the returned Request to send the API call to the service.
  4521. // the "output" return value is not valid until after Send returns without error.
  4522. //
  4523. // See CreateNetworkInterface for more information on using the CreateNetworkInterface
  4524. // API call, and error handling.
  4525. //
  4526. // This method is useful when you want to inject custom logic or configuration
  4527. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4528. //
  4529. //
  4530. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  4531. // req, resp := client.CreateNetworkInterfaceRequest(params)
  4532. //
  4533. // err := req.Send()
  4534. // if err == nil { // resp is now filled
  4535. // fmt.Println(resp)
  4536. // }
  4537. //
  4538. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  4539. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  4540. op := &request.Operation{
  4541. Name: opCreateNetworkInterface,
  4542. HTTPMethod: "POST",
  4543. HTTPPath: "/",
  4544. }
  4545. if input == nil {
  4546. input = &CreateNetworkInterfaceInput{}
  4547. }
  4548. output = &CreateNetworkInterfaceOutput{}
  4549. req = c.newRequest(op, input, output)
  4550. return
  4551. }
  4552. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  4553. //
  4554. // Creates a network interface in the specified subnet.
  4555. //
  4556. // For more information about network interfaces, see Elastic Network Interfaces
  4557. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  4558. // Amazon Virtual Private Cloud User Guide.
  4559. //
  4560. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4561. // with awserr.Error's Code and Message methods to get detailed information about
  4562. // the error.
  4563. //
  4564. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4565. // API operation CreateNetworkInterface for usage and error information.
  4566. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  4567. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  4568. req, out := c.CreateNetworkInterfaceRequest(input)
  4569. return out, req.Send()
  4570. }
  4571. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  4572. // the ability to pass a context and additional request options.
  4573. //
  4574. // See CreateNetworkInterface for details on how to use this API operation.
  4575. //
  4576. // The context must be non-nil and will be used for request cancellation. If
  4577. // the context is nil a panic will occur. In the future the SDK may create
  4578. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4579. // for more information on using Contexts.
  4580. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  4581. req, out := c.CreateNetworkInterfaceRequest(input)
  4582. req.SetContext(ctx)
  4583. req.ApplyOptions(opts...)
  4584. return out, req.Send()
  4585. }
  4586. const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
  4587. // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  4588. // client's request for the CreateNetworkInterfacePermission operation. The "output" return
  4589. // value will be populated with the request's response once the request completes
  4590. // successfully.
  4591. //
  4592. // Use "Send" method on the returned Request to send the API call to the service.
  4593. // the "output" return value is not valid until after Send returns without error.
  4594. //
  4595. // See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
  4596. // API call, and error handling.
  4597. //
  4598. // This method is useful when you want to inject custom logic or configuration
  4599. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4600. //
  4601. //
  4602. // // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
  4603. // req, resp := client.CreateNetworkInterfacePermissionRequest(params)
  4604. //
  4605. // err := req.Send()
  4606. // if err == nil { // resp is now filled
  4607. // fmt.Println(resp)
  4608. // }
  4609. //
  4610. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  4611. func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
  4612. op := &request.Operation{
  4613. Name: opCreateNetworkInterfacePermission,
  4614. HTTPMethod: "POST",
  4615. HTTPPath: "/",
  4616. }
  4617. if input == nil {
  4618. input = &CreateNetworkInterfacePermissionInput{}
  4619. }
  4620. output = &CreateNetworkInterfacePermissionOutput{}
  4621. req = c.newRequest(op, input, output)
  4622. return
  4623. }
  4624. // CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  4625. //
  4626. // Grants an AWS-authorized account permission to attach the specified network
  4627. // interface to an instance in their account.
  4628. //
  4629. // You can grant permission to a single AWS account only, and only one account
  4630. // at a time.
  4631. //
  4632. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4633. // with awserr.Error's Code and Message methods to get detailed information about
  4634. // the error.
  4635. //
  4636. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4637. // API operation CreateNetworkInterfacePermission for usage and error information.
  4638. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  4639. func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
  4640. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  4641. return out, req.Send()
  4642. }
  4643. // CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
  4644. // the ability to pass a context and additional request options.
  4645. //
  4646. // See CreateNetworkInterfacePermission for details on how to use this API operation.
  4647. //
  4648. // The context must be non-nil and will be used for request cancellation. If
  4649. // the context is nil a panic will occur. In the future the SDK may create
  4650. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4651. // for more information on using Contexts.
  4652. func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
  4653. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  4654. req.SetContext(ctx)
  4655. req.ApplyOptions(opts...)
  4656. return out, req.Send()
  4657. }
  4658. const opCreatePlacementGroup = "CreatePlacementGroup"
  4659. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  4660. // client's request for the CreatePlacementGroup operation. The "output" return
  4661. // value will be populated with the request's response once the request completes
  4662. // successfully.
  4663. //
  4664. // Use "Send" method on the returned Request to send the API call to the service.
  4665. // the "output" return value is not valid until after Send returns without error.
  4666. //
  4667. // See CreatePlacementGroup for more information on using the CreatePlacementGroup
  4668. // API call, and error handling.
  4669. //
  4670. // This method is useful when you want to inject custom logic or configuration
  4671. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4672. //
  4673. //
  4674. // // Example sending a request using the CreatePlacementGroupRequest method.
  4675. // req, resp := client.CreatePlacementGroupRequest(params)
  4676. //
  4677. // err := req.Send()
  4678. // if err == nil { // resp is now filled
  4679. // fmt.Println(resp)
  4680. // }
  4681. //
  4682. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  4683. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  4684. op := &request.Operation{
  4685. Name: opCreatePlacementGroup,
  4686. HTTPMethod: "POST",
  4687. HTTPPath: "/",
  4688. }
  4689. if input == nil {
  4690. input = &CreatePlacementGroupInput{}
  4691. }
  4692. output = &CreatePlacementGroupOutput{}
  4693. req = c.newRequest(op, input, output)
  4694. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4695. return
  4696. }
  4697. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  4698. //
  4699. // Creates a placement group in which to launch instances. The strategy of the
  4700. // placement group determines how the instances are organized within the group.
  4701. //
  4702. // A cluster placement group is a logical grouping of instances within a single
  4703. // Availability Zone that benefit from low network latency, high network throughput.
  4704. // A spread placement group places instances on distinct hardware. A partition
  4705. // placement group places groups of instances in different partitions, where
  4706. // instances in one partition do not share the same hardware with instances
  4707. // in another partition.
  4708. //
  4709. // For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  4710. // in the Amazon Elastic Compute Cloud User Guide.
  4711. //
  4712. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4713. // with awserr.Error's Code and Message methods to get detailed information about
  4714. // the error.
  4715. //
  4716. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4717. // API operation CreatePlacementGroup for usage and error information.
  4718. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  4719. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  4720. req, out := c.CreatePlacementGroupRequest(input)
  4721. return out, req.Send()
  4722. }
  4723. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  4724. // the ability to pass a context and additional request options.
  4725. //
  4726. // See CreatePlacementGroup for details on how to use this API operation.
  4727. //
  4728. // The context must be non-nil and will be used for request cancellation. If
  4729. // the context is nil a panic will occur. In the future the SDK may create
  4730. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4731. // for more information on using Contexts.
  4732. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  4733. req, out := c.CreatePlacementGroupRequest(input)
  4734. req.SetContext(ctx)
  4735. req.ApplyOptions(opts...)
  4736. return out, req.Send()
  4737. }
  4738. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  4739. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  4740. // client's request for the CreateReservedInstancesListing operation. The "output" return
  4741. // value will be populated with the request's response once the request completes
  4742. // successfully.
  4743. //
  4744. // Use "Send" method on the returned Request to send the API call to the service.
  4745. // the "output" return value is not valid until after Send returns without error.
  4746. //
  4747. // See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
  4748. // API call, and error handling.
  4749. //
  4750. // This method is useful when you want to inject custom logic or configuration
  4751. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4752. //
  4753. //
  4754. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  4755. // req, resp := client.CreateReservedInstancesListingRequest(params)
  4756. //
  4757. // err := req.Send()
  4758. // if err == nil { // resp is now filled
  4759. // fmt.Println(resp)
  4760. // }
  4761. //
  4762. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  4763. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  4764. op := &request.Operation{
  4765. Name: opCreateReservedInstancesListing,
  4766. HTTPMethod: "POST",
  4767. HTTPPath: "/",
  4768. }
  4769. if input == nil {
  4770. input = &CreateReservedInstancesListingInput{}
  4771. }
  4772. output = &CreateReservedInstancesListingOutput{}
  4773. req = c.newRequest(op, input, output)
  4774. return
  4775. }
  4776. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  4777. //
  4778. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  4779. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  4780. // listing at a time. To get a list of your Standard Reserved Instances, you
  4781. // can use the DescribeReservedInstances operation.
  4782. //
  4783. // Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
  4784. // Convertible Reserved Instances cannot be sold.
  4785. //
  4786. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  4787. // Reserved Instance capacity that they no longer need with buyers who want
  4788. // to purchase additional capacity. Reserved Instances bought and sold through
  4789. // the Reserved Instance Marketplace work like any other Reserved Instances.
  4790. //
  4791. // To sell your Standard Reserved Instances, you must first register as a seller
  4792. // in the Reserved Instance Marketplace. After completing the registration process,
  4793. // you can create a Reserved Instance Marketplace listing of some or all of
  4794. // your Standard Reserved Instances, and specify the upfront price to receive
  4795. // for them. Your Standard Reserved Instance listings then become available
  4796. // for purchase. To view the details of your Standard Reserved Instance listing,
  4797. // you can use the DescribeReservedInstancesListings operation.
  4798. //
  4799. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  4800. // in the Amazon Elastic Compute Cloud User Guide.
  4801. //
  4802. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4803. // with awserr.Error's Code and Message methods to get detailed information about
  4804. // the error.
  4805. //
  4806. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4807. // API operation CreateReservedInstancesListing for usage and error information.
  4808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  4809. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  4810. req, out := c.CreateReservedInstancesListingRequest(input)
  4811. return out, req.Send()
  4812. }
  4813. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  4814. // the ability to pass a context and additional request options.
  4815. //
  4816. // See CreateReservedInstancesListing for details on how to use this API operation.
  4817. //
  4818. // The context must be non-nil and will be used for request cancellation. If
  4819. // the context is nil a panic will occur. In the future the SDK may create
  4820. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4821. // for more information on using Contexts.
  4822. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  4823. req, out := c.CreateReservedInstancesListingRequest(input)
  4824. req.SetContext(ctx)
  4825. req.ApplyOptions(opts...)
  4826. return out, req.Send()
  4827. }
  4828. const opCreateRoute = "CreateRoute"
  4829. // CreateRouteRequest generates a "aws/request.Request" representing the
  4830. // client's request for the CreateRoute operation. The "output" return
  4831. // value will be populated with the request's response once the request completes
  4832. // successfully.
  4833. //
  4834. // Use "Send" method on the returned Request to send the API call to the service.
  4835. // the "output" return value is not valid until after Send returns without error.
  4836. //
  4837. // See CreateRoute for more information on using the CreateRoute
  4838. // API call, and error handling.
  4839. //
  4840. // This method is useful when you want to inject custom logic or configuration
  4841. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4842. //
  4843. //
  4844. // // Example sending a request using the CreateRouteRequest method.
  4845. // req, resp := client.CreateRouteRequest(params)
  4846. //
  4847. // err := req.Send()
  4848. // if err == nil { // resp is now filled
  4849. // fmt.Println(resp)
  4850. // }
  4851. //
  4852. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4853. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  4854. op := &request.Operation{
  4855. Name: opCreateRoute,
  4856. HTTPMethod: "POST",
  4857. HTTPPath: "/",
  4858. }
  4859. if input == nil {
  4860. input = &CreateRouteInput{}
  4861. }
  4862. output = &CreateRouteOutput{}
  4863. req = c.newRequest(op, input, output)
  4864. return
  4865. }
  4866. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  4867. //
  4868. // Creates a route in a route table within a VPC.
  4869. //
  4870. // You must specify one of the following targets: internet gateway or virtual
  4871. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  4872. // interface, or egress-only internet gateway.
  4873. //
  4874. // When determining how to route traffic, we use the route with the most specific
  4875. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  4876. // the route table includes the following two IPv4 routes:
  4877. //
  4878. // * 192.0.2.0/24 (goes to some target A)
  4879. //
  4880. // * 192.0.2.0/28 (goes to some target B)
  4881. //
  4882. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  4883. // route in the list covers a smaller number of IP addresses and is therefore
  4884. // more specific, so we use that route to determine where to target the traffic.
  4885. //
  4886. // For more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4887. // in the Amazon Virtual Private Cloud User Guide.
  4888. //
  4889. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4890. // with awserr.Error's Code and Message methods to get detailed information about
  4891. // the error.
  4892. //
  4893. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4894. // API operation CreateRoute for usage and error information.
  4895. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  4896. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  4897. req, out := c.CreateRouteRequest(input)
  4898. return out, req.Send()
  4899. }
  4900. // CreateRouteWithContext is the same as CreateRoute with the addition of
  4901. // the ability to pass a context and additional request options.
  4902. //
  4903. // See CreateRoute for details on how to use this API operation.
  4904. //
  4905. // The context must be non-nil and will be used for request cancellation. If
  4906. // the context is nil a panic will occur. In the future the SDK may create
  4907. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4908. // for more information on using Contexts.
  4909. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  4910. req, out := c.CreateRouteRequest(input)
  4911. req.SetContext(ctx)
  4912. req.ApplyOptions(opts...)
  4913. return out, req.Send()
  4914. }
  4915. const opCreateRouteTable = "CreateRouteTable"
  4916. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  4917. // client's request for the CreateRouteTable operation. The "output" return
  4918. // value will be populated with the request's response once the request completes
  4919. // successfully.
  4920. //
  4921. // Use "Send" method on the returned Request to send the API call to the service.
  4922. // the "output" return value is not valid until after Send returns without error.
  4923. //
  4924. // See CreateRouteTable for more information on using the CreateRouteTable
  4925. // API call, and error handling.
  4926. //
  4927. // This method is useful when you want to inject custom logic or configuration
  4928. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4929. //
  4930. //
  4931. // // Example sending a request using the CreateRouteTableRequest method.
  4932. // req, resp := client.CreateRouteTableRequest(params)
  4933. //
  4934. // err := req.Send()
  4935. // if err == nil { // resp is now filled
  4936. // fmt.Println(resp)
  4937. // }
  4938. //
  4939. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4940. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  4941. op := &request.Operation{
  4942. Name: opCreateRouteTable,
  4943. HTTPMethod: "POST",
  4944. HTTPPath: "/",
  4945. }
  4946. if input == nil {
  4947. input = &CreateRouteTableInput{}
  4948. }
  4949. output = &CreateRouteTableOutput{}
  4950. req = c.newRequest(op, input, output)
  4951. return
  4952. }
  4953. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  4954. //
  4955. // Creates a route table for the specified VPC. After you create a route table,
  4956. // you can add routes and associate the table with a subnet.
  4957. //
  4958. // For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4959. // in the Amazon Virtual Private Cloud User Guide.
  4960. //
  4961. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4962. // with awserr.Error's Code and Message methods to get detailed information about
  4963. // the error.
  4964. //
  4965. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4966. // API operation CreateRouteTable for usage and error information.
  4967. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  4968. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  4969. req, out := c.CreateRouteTableRequest(input)
  4970. return out, req.Send()
  4971. }
  4972. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  4973. // the ability to pass a context and additional request options.
  4974. //
  4975. // See CreateRouteTable for details on how to use this API operation.
  4976. //
  4977. // The context must be non-nil and will be used for request cancellation. If
  4978. // the context is nil a panic will occur. In the future the SDK may create
  4979. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4980. // for more information on using Contexts.
  4981. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  4982. req, out := c.CreateRouteTableRequest(input)
  4983. req.SetContext(ctx)
  4984. req.ApplyOptions(opts...)
  4985. return out, req.Send()
  4986. }
  4987. const opCreateSecurityGroup = "CreateSecurityGroup"
  4988. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  4989. // client's request for the CreateSecurityGroup operation. The "output" return
  4990. // value will be populated with the request's response once the request completes
  4991. // successfully.
  4992. //
  4993. // Use "Send" method on the returned Request to send the API call to the service.
  4994. // the "output" return value is not valid until after Send returns without error.
  4995. //
  4996. // See CreateSecurityGroup for more information on using the CreateSecurityGroup
  4997. // API call, and error handling.
  4998. //
  4999. // This method is useful when you want to inject custom logic or configuration
  5000. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5001. //
  5002. //
  5003. // // Example sending a request using the CreateSecurityGroupRequest method.
  5004. // req, resp := client.CreateSecurityGroupRequest(params)
  5005. //
  5006. // err := req.Send()
  5007. // if err == nil { // resp is now filled
  5008. // fmt.Println(resp)
  5009. // }
  5010. //
  5011. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  5012. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  5013. op := &request.Operation{
  5014. Name: opCreateSecurityGroup,
  5015. HTTPMethod: "POST",
  5016. HTTPPath: "/",
  5017. }
  5018. if input == nil {
  5019. input = &CreateSecurityGroupInput{}
  5020. }
  5021. output = &CreateSecurityGroupOutput{}
  5022. req = c.newRequest(op, input, output)
  5023. return
  5024. }
  5025. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  5026. //
  5027. // Creates a security group.
  5028. //
  5029. // A security group is for use with instances either in the EC2-Classic platform
  5030. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  5031. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  5032. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  5033. // VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  5034. // in the Amazon Virtual Private Cloud User Guide.
  5035. //
  5036. // EC2-Classic: You can have up to 500 security groups.
  5037. //
  5038. // EC2-VPC: You can create up to 500 security groups per VPC.
  5039. //
  5040. // When you create a security group, you specify a friendly name of your choice.
  5041. // You can have a security group for use in EC2-Classic with the same name as
  5042. // a security group for use in a VPC. However, you can't have two security groups
  5043. // for use in EC2-Classic with the same name or two security groups for use
  5044. // in a VPC with the same name.
  5045. //
  5046. // You have a default security group for use in EC2-Classic and a default security
  5047. // group for use in your VPC. If you don't specify a security group when you
  5048. // launch an instance, the instance is launched into the appropriate default
  5049. // security group. A default security group includes a default rule that grants
  5050. // instances unrestricted network access to each other.
  5051. //
  5052. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  5053. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  5054. //
  5055. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5056. // with awserr.Error's Code and Message methods to get detailed information about
  5057. // the error.
  5058. //
  5059. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5060. // API operation CreateSecurityGroup for usage and error information.
  5061. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  5062. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  5063. req, out := c.CreateSecurityGroupRequest(input)
  5064. return out, req.Send()
  5065. }
  5066. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  5067. // the ability to pass a context and additional request options.
  5068. //
  5069. // See CreateSecurityGroup for details on how to use this API operation.
  5070. //
  5071. // The context must be non-nil and will be used for request cancellation. If
  5072. // the context is nil a panic will occur. In the future the SDK may create
  5073. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5074. // for more information on using Contexts.
  5075. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  5076. req, out := c.CreateSecurityGroupRequest(input)
  5077. req.SetContext(ctx)
  5078. req.ApplyOptions(opts...)
  5079. return out, req.Send()
  5080. }
  5081. const opCreateSnapshot = "CreateSnapshot"
  5082. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  5083. // client's request for the CreateSnapshot operation. The "output" return
  5084. // value will be populated with the request's response once the request completes
  5085. // successfully.
  5086. //
  5087. // Use "Send" method on the returned Request to send the API call to the service.
  5088. // the "output" return value is not valid until after Send returns without error.
  5089. //
  5090. // See CreateSnapshot for more information on using the CreateSnapshot
  5091. // API call, and error handling.
  5092. //
  5093. // This method is useful when you want to inject custom logic or configuration
  5094. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5095. //
  5096. //
  5097. // // Example sending a request using the CreateSnapshotRequest method.
  5098. // req, resp := client.CreateSnapshotRequest(params)
  5099. //
  5100. // err := req.Send()
  5101. // if err == nil { // resp is now filled
  5102. // fmt.Println(resp)
  5103. // }
  5104. //
  5105. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  5106. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  5107. op := &request.Operation{
  5108. Name: opCreateSnapshot,
  5109. HTTPMethod: "POST",
  5110. HTTPPath: "/",
  5111. }
  5112. if input == nil {
  5113. input = &CreateSnapshotInput{}
  5114. }
  5115. output = &Snapshot{}
  5116. req = c.newRequest(op, input, output)
  5117. return
  5118. }
  5119. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  5120. //
  5121. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  5122. // snapshots for backups, to make copies of EBS volumes, and to save data before
  5123. // shutting down an instance.
  5124. //
  5125. // When a snapshot is created, any AWS Marketplace product codes that are associated
  5126. // with the source volume are propagated to the snapshot.
  5127. //
  5128. // You can take a snapshot of an attached volume that is in use. However, snapshots
  5129. // only capture data that has been written to your EBS volume at the time the
  5130. // snapshot command is issued; this may exclude any data that has been cached
  5131. // by any applications or the operating system. If you can pause any file systems
  5132. // on the volume long enough to take a snapshot, your snapshot should be complete.
  5133. // However, if you cannot pause all file writes to the volume, you should unmount
  5134. // the volume from within the instance, issue the snapshot command, and then
  5135. // remount the volume to ensure a consistent and complete snapshot. You may
  5136. // remount and use your volume while the snapshot status is pending.
  5137. //
  5138. // To create a snapshot for EBS volumes that serve as root devices, you should
  5139. // stop the instance before taking the snapshot.
  5140. //
  5141. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  5142. // Volumes that are created from encrypted snapshots are also automatically
  5143. // encrypted. Your encrypted volumes and any associated snapshots always remain
  5144. // protected.
  5145. //
  5146. // You can tag your snapshots during creation. For more information, see Tagging
  5147. // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5148. // in the Amazon Elastic Compute Cloud User Guide.
  5149. //
  5150. // For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  5151. // and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  5152. // in the Amazon Elastic Compute Cloud User Guide.
  5153. //
  5154. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5155. // with awserr.Error's Code and Message methods to get detailed information about
  5156. // the error.
  5157. //
  5158. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5159. // API operation CreateSnapshot for usage and error information.
  5160. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  5161. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  5162. req, out := c.CreateSnapshotRequest(input)
  5163. return out, req.Send()
  5164. }
  5165. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  5166. // the ability to pass a context and additional request options.
  5167. //
  5168. // See CreateSnapshot for details on how to use this API operation.
  5169. //
  5170. // The context must be non-nil and will be used for request cancellation. If
  5171. // the context is nil a panic will occur. In the future the SDK may create
  5172. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5173. // for more information on using Contexts.
  5174. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  5175. req, out := c.CreateSnapshotRequest(input)
  5176. req.SetContext(ctx)
  5177. req.ApplyOptions(opts...)
  5178. return out, req.Send()
  5179. }
  5180. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  5181. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  5182. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  5183. // value will be populated with the request's response once the request completes
  5184. // successfully.
  5185. //
  5186. // Use "Send" method on the returned Request to send the API call to the service.
  5187. // the "output" return value is not valid until after Send returns without error.
  5188. //
  5189. // See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
  5190. // API call, and error handling.
  5191. //
  5192. // This method is useful when you want to inject custom logic or configuration
  5193. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5194. //
  5195. //
  5196. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  5197. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  5198. //
  5199. // err := req.Send()
  5200. // if err == nil { // resp is now filled
  5201. // fmt.Println(resp)
  5202. // }
  5203. //
  5204. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  5205. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  5206. op := &request.Operation{
  5207. Name: opCreateSpotDatafeedSubscription,
  5208. HTTPMethod: "POST",
  5209. HTTPPath: "/",
  5210. }
  5211. if input == nil {
  5212. input = &CreateSpotDatafeedSubscriptionInput{}
  5213. }
  5214. output = &CreateSpotDatafeedSubscriptionOutput{}
  5215. req = c.newRequest(op, input, output)
  5216. return
  5217. }
  5218. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  5219. //
  5220. // Creates a data feed for Spot Instances, enabling you to view Spot Instance
  5221. // usage logs. You can create one data feed per AWS account. For more information,
  5222. // see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  5223. // in the Amazon EC2 User Guide for Linux Instances.
  5224. //
  5225. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5226. // with awserr.Error's Code and Message methods to get detailed information about
  5227. // the error.
  5228. //
  5229. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5230. // API operation CreateSpotDatafeedSubscription for usage and error information.
  5231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  5232. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  5233. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  5234. return out, req.Send()
  5235. }
  5236. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  5237. // the ability to pass a context and additional request options.
  5238. //
  5239. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  5240. //
  5241. // The context must be non-nil and will be used for request cancellation. If
  5242. // the context is nil a panic will occur. In the future the SDK may create
  5243. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5244. // for more information on using Contexts.
  5245. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  5246. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  5247. req.SetContext(ctx)
  5248. req.ApplyOptions(opts...)
  5249. return out, req.Send()
  5250. }
  5251. const opCreateSubnet = "CreateSubnet"
  5252. // CreateSubnetRequest generates a "aws/request.Request" representing the
  5253. // client's request for the CreateSubnet operation. The "output" return
  5254. // value will be populated with the request's response once the request completes
  5255. // successfully.
  5256. //
  5257. // Use "Send" method on the returned Request to send the API call to the service.
  5258. // the "output" return value is not valid until after Send returns without error.
  5259. //
  5260. // See CreateSubnet for more information on using the CreateSubnet
  5261. // API call, and error handling.
  5262. //
  5263. // This method is useful when you want to inject custom logic or configuration
  5264. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5265. //
  5266. //
  5267. // // Example sending a request using the CreateSubnetRequest method.
  5268. // req, resp := client.CreateSubnetRequest(params)
  5269. //
  5270. // err := req.Send()
  5271. // if err == nil { // resp is now filled
  5272. // fmt.Println(resp)
  5273. // }
  5274. //
  5275. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  5276. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  5277. op := &request.Operation{
  5278. Name: opCreateSubnet,
  5279. HTTPMethod: "POST",
  5280. HTTPPath: "/",
  5281. }
  5282. if input == nil {
  5283. input = &CreateSubnetInput{}
  5284. }
  5285. output = &CreateSubnetOutput{}
  5286. req = c.newRequest(op, input, output)
  5287. return
  5288. }
  5289. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  5290. //
  5291. // Creates a subnet in an existing VPC.
  5292. //
  5293. // When you create each subnet, you provide the VPC ID and IPv4 CIDR block for
  5294. // the subnet. After you create a subnet, you can't change its CIDR block. The
  5295. // size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR
  5296. // block, or a subset of a VPC's IPv4 CIDR block. If you create more than one
  5297. // subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest
  5298. // IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses),
  5299. // and the largest uses a /16 netmask (65,536 IPv4 addresses).
  5300. //
  5301. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  5302. // with an IPv6 CIDR block that uses a /64 prefix length.
  5303. //
  5304. // AWS reserves both the first four and the last IPv4 address in each subnet's
  5305. // CIDR block. They're not available for use.
  5306. //
  5307. // If you add more than one subnet to a VPC, they're set up in a star topology
  5308. // with a logical router in the middle.
  5309. //
  5310. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  5311. // address doesn't change if you stop and restart the instance (unlike a similar
  5312. // instance launched outside a VPC, which gets a new IP address when restarted).
  5313. // It's therefore possible to have a subnet with no running instances (they're
  5314. // all stopped), but no remaining IP addresses available.
  5315. //
  5316. // For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  5317. // in the Amazon Virtual Private Cloud User Guide.
  5318. //
  5319. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5320. // with awserr.Error's Code and Message methods to get detailed information about
  5321. // the error.
  5322. //
  5323. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5324. // API operation CreateSubnet for usage and error information.
  5325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  5326. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  5327. req, out := c.CreateSubnetRequest(input)
  5328. return out, req.Send()
  5329. }
  5330. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  5331. // the ability to pass a context and additional request options.
  5332. //
  5333. // See CreateSubnet for details on how to use this API operation.
  5334. //
  5335. // The context must be non-nil and will be used for request cancellation. If
  5336. // the context is nil a panic will occur. In the future the SDK may create
  5337. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5338. // for more information on using Contexts.
  5339. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  5340. req, out := c.CreateSubnetRequest(input)
  5341. req.SetContext(ctx)
  5342. req.ApplyOptions(opts...)
  5343. return out, req.Send()
  5344. }
  5345. const opCreateTags = "CreateTags"
  5346. // CreateTagsRequest generates a "aws/request.Request" representing the
  5347. // client's request for the CreateTags operation. The "output" return
  5348. // value will be populated with the request's response once the request completes
  5349. // successfully.
  5350. //
  5351. // Use "Send" method on the returned Request to send the API call to the service.
  5352. // the "output" return value is not valid until after Send returns without error.
  5353. //
  5354. // See CreateTags for more information on using the CreateTags
  5355. // API call, and error handling.
  5356. //
  5357. // This method is useful when you want to inject custom logic or configuration
  5358. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5359. //
  5360. //
  5361. // // Example sending a request using the CreateTagsRequest method.
  5362. // req, resp := client.CreateTagsRequest(params)
  5363. //
  5364. // err := req.Send()
  5365. // if err == nil { // resp is now filled
  5366. // fmt.Println(resp)
  5367. // }
  5368. //
  5369. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  5370. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  5371. op := &request.Operation{
  5372. Name: opCreateTags,
  5373. HTTPMethod: "POST",
  5374. HTTPPath: "/",
  5375. }
  5376. if input == nil {
  5377. input = &CreateTagsInput{}
  5378. }
  5379. output = &CreateTagsOutput{}
  5380. req = c.newRequest(op, input, output)
  5381. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5382. return
  5383. }
  5384. // CreateTags API operation for Amazon Elastic Compute Cloud.
  5385. //
  5386. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  5387. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  5388. // of a key and optional value. Tag keys must be unique per resource.
  5389. //
  5390. // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5391. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  5392. // creating IAM policies that control users' access to resources based on tags,
  5393. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  5394. // in the Amazon Elastic Compute Cloud User Guide.
  5395. //
  5396. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5397. // with awserr.Error's Code and Message methods to get detailed information about
  5398. // the error.
  5399. //
  5400. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5401. // API operation CreateTags for usage and error information.
  5402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  5403. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  5404. req, out := c.CreateTagsRequest(input)
  5405. return out, req.Send()
  5406. }
  5407. // CreateTagsWithContext is the same as CreateTags with the addition of
  5408. // the ability to pass a context and additional request options.
  5409. //
  5410. // See CreateTags for details on how to use this API operation.
  5411. //
  5412. // The context must be non-nil and will be used for request cancellation. If
  5413. // the context is nil a panic will occur. In the future the SDK may create
  5414. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5415. // for more information on using Contexts.
  5416. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  5417. req, out := c.CreateTagsRequest(input)
  5418. req.SetContext(ctx)
  5419. req.ApplyOptions(opts...)
  5420. return out, req.Send()
  5421. }
  5422. const opCreateTransitGateway = "CreateTransitGateway"
  5423. // CreateTransitGatewayRequest generates a "aws/request.Request" representing the
  5424. // client's request for the CreateTransitGateway operation. The "output" return
  5425. // value will be populated with the request's response once the request completes
  5426. // successfully.
  5427. //
  5428. // Use "Send" method on the returned Request to send the API call to the service.
  5429. // the "output" return value is not valid until after Send returns without error.
  5430. //
  5431. // See CreateTransitGateway for more information on using the CreateTransitGateway
  5432. // API call, and error handling.
  5433. //
  5434. // This method is useful when you want to inject custom logic or configuration
  5435. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5436. //
  5437. //
  5438. // // Example sending a request using the CreateTransitGatewayRequest method.
  5439. // req, resp := client.CreateTransitGatewayRequest(params)
  5440. //
  5441. // err := req.Send()
  5442. // if err == nil { // resp is now filled
  5443. // fmt.Println(resp)
  5444. // }
  5445. //
  5446. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
  5447. func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
  5448. op := &request.Operation{
  5449. Name: opCreateTransitGateway,
  5450. HTTPMethod: "POST",
  5451. HTTPPath: "/",
  5452. }
  5453. if input == nil {
  5454. input = &CreateTransitGatewayInput{}
  5455. }
  5456. output = &CreateTransitGatewayOutput{}
  5457. req = c.newRequest(op, input, output)
  5458. return
  5459. }
  5460. // CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
  5461. //
  5462. // Creates a transit gateway.
  5463. //
  5464. // You can use a transit gateway to interconnect your virtual private clouds
  5465. // (VPC) and on-premises networks. After the transit gateway enters the available
  5466. // state, you can attach your VPCs and VPN connections to the transit gateway.
  5467. //
  5468. // To attach your VPCs, use CreateTransitGatewayVpcAttachment.
  5469. //
  5470. // To attach a VPN connection, use CreateCustomerGateway to create a customer
  5471. // gateway and specify the ID of the customer gateway and the ID of the transit
  5472. // gateway in a call to CreateVpnConnection.
  5473. //
  5474. // When you create a transit gateway, we create a default transit gateway route
  5475. // table and use it as the default association route table and the default propagation
  5476. // route table. You can use CreateTransitGatewayRouteTable to create additional
  5477. // transit gateway route tables. If you disable automatic route propagation,
  5478. // we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
  5479. // to propagate routes from a resource attachment to a transit gateway route
  5480. // table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
  5481. // to associate a resource attachment with a transit gateway route table.
  5482. //
  5483. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5484. // with awserr.Error's Code and Message methods to get detailed information about
  5485. // the error.
  5486. //
  5487. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5488. // API operation CreateTransitGateway for usage and error information.
  5489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
  5490. func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
  5491. req, out := c.CreateTransitGatewayRequest(input)
  5492. return out, req.Send()
  5493. }
  5494. // CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
  5495. // the ability to pass a context and additional request options.
  5496. //
  5497. // See CreateTransitGateway for details on how to use this API operation.
  5498. //
  5499. // The context must be non-nil and will be used for request cancellation. If
  5500. // the context is nil a panic will occur. In the future the SDK may create
  5501. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5502. // for more information on using Contexts.
  5503. func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
  5504. req, out := c.CreateTransitGatewayRequest(input)
  5505. req.SetContext(ctx)
  5506. req.ApplyOptions(opts...)
  5507. return out, req.Send()
  5508. }
  5509. const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
  5510. // CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  5511. // client's request for the CreateTransitGatewayRoute operation. The "output" return
  5512. // value will be populated with the request's response once the request completes
  5513. // successfully.
  5514. //
  5515. // Use "Send" method on the returned Request to send the API call to the service.
  5516. // the "output" return value is not valid until after Send returns without error.
  5517. //
  5518. // See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
  5519. // API call, and error handling.
  5520. //
  5521. // This method is useful when you want to inject custom logic or configuration
  5522. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5523. //
  5524. //
  5525. // // Example sending a request using the CreateTransitGatewayRouteRequest method.
  5526. // req, resp := client.CreateTransitGatewayRouteRequest(params)
  5527. //
  5528. // err := req.Send()
  5529. // if err == nil { // resp is now filled
  5530. // fmt.Println(resp)
  5531. // }
  5532. //
  5533. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
  5534. func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
  5535. op := &request.Operation{
  5536. Name: opCreateTransitGatewayRoute,
  5537. HTTPMethod: "POST",
  5538. HTTPPath: "/",
  5539. }
  5540. if input == nil {
  5541. input = &CreateTransitGatewayRouteInput{}
  5542. }
  5543. output = &CreateTransitGatewayRouteOutput{}
  5544. req = c.newRequest(op, input, output)
  5545. return
  5546. }
  5547. // CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  5548. //
  5549. // Creates a static route for the specified transit gateway route table.
  5550. //
  5551. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5552. // with awserr.Error's Code and Message methods to get detailed information about
  5553. // the error.
  5554. //
  5555. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5556. // API operation CreateTransitGatewayRoute for usage and error information.
  5557. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
  5558. func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
  5559. req, out := c.CreateTransitGatewayRouteRequest(input)
  5560. return out, req.Send()
  5561. }
  5562. // CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
  5563. // the ability to pass a context and additional request options.
  5564. //
  5565. // See CreateTransitGatewayRoute for details on how to use this API operation.
  5566. //
  5567. // The context must be non-nil and will be used for request cancellation. If
  5568. // the context is nil a panic will occur. In the future the SDK may create
  5569. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5570. // for more information on using Contexts.
  5571. func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
  5572. req, out := c.CreateTransitGatewayRouteRequest(input)
  5573. req.SetContext(ctx)
  5574. req.ApplyOptions(opts...)
  5575. return out, req.Send()
  5576. }
  5577. const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
  5578. // CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  5579. // client's request for the CreateTransitGatewayRouteTable operation. The "output" return
  5580. // value will be populated with the request's response once the request completes
  5581. // successfully.
  5582. //
  5583. // Use "Send" method on the returned Request to send the API call to the service.
  5584. // the "output" return value is not valid until after Send returns without error.
  5585. //
  5586. // See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
  5587. // API call, and error handling.
  5588. //
  5589. // This method is useful when you want to inject custom logic or configuration
  5590. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5591. //
  5592. //
  5593. // // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
  5594. // req, resp := client.CreateTransitGatewayRouteTableRequest(params)
  5595. //
  5596. // err := req.Send()
  5597. // if err == nil { // resp is now filled
  5598. // fmt.Println(resp)
  5599. // }
  5600. //
  5601. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
  5602. func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
  5603. op := &request.Operation{
  5604. Name: opCreateTransitGatewayRouteTable,
  5605. HTTPMethod: "POST",
  5606. HTTPPath: "/",
  5607. }
  5608. if input == nil {
  5609. input = &CreateTransitGatewayRouteTableInput{}
  5610. }
  5611. output = &CreateTransitGatewayRouteTableOutput{}
  5612. req = c.newRequest(op, input, output)
  5613. return
  5614. }
  5615. // CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  5616. //
  5617. // Creates a route table for the specified transit gateway.
  5618. //
  5619. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5620. // with awserr.Error's Code and Message methods to get detailed information about
  5621. // the error.
  5622. //
  5623. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5624. // API operation CreateTransitGatewayRouteTable for usage and error information.
  5625. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
  5626. func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
  5627. req, out := c.CreateTransitGatewayRouteTableRequest(input)
  5628. return out, req.Send()
  5629. }
  5630. // CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
  5631. // the ability to pass a context and additional request options.
  5632. //
  5633. // See CreateTransitGatewayRouteTable for details on how to use this API operation.
  5634. //
  5635. // The context must be non-nil and will be used for request cancellation. If
  5636. // the context is nil a panic will occur. In the future the SDK may create
  5637. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5638. // for more information on using Contexts.
  5639. func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
  5640. req, out := c.CreateTransitGatewayRouteTableRequest(input)
  5641. req.SetContext(ctx)
  5642. req.ApplyOptions(opts...)
  5643. return out, req.Send()
  5644. }
  5645. const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
  5646. // CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  5647. // client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
  5648. // value will be populated with the request's response once the request completes
  5649. // successfully.
  5650. //
  5651. // Use "Send" method on the returned Request to send the API call to the service.
  5652. // the "output" return value is not valid until after Send returns without error.
  5653. //
  5654. // See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
  5655. // API call, and error handling.
  5656. //
  5657. // This method is useful when you want to inject custom logic or configuration
  5658. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5659. //
  5660. //
  5661. // // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
  5662. // req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
  5663. //
  5664. // err := req.Send()
  5665. // if err == nil { // resp is now filled
  5666. // fmt.Println(resp)
  5667. // }
  5668. //
  5669. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
  5670. func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
  5671. op := &request.Operation{
  5672. Name: opCreateTransitGatewayVpcAttachment,
  5673. HTTPMethod: "POST",
  5674. HTTPPath: "/",
  5675. }
  5676. if input == nil {
  5677. input = &CreateTransitGatewayVpcAttachmentInput{}
  5678. }
  5679. output = &CreateTransitGatewayVpcAttachmentOutput{}
  5680. req = c.newRequest(op, input, output)
  5681. return
  5682. }
  5683. // CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  5684. //
  5685. // Attaches the specified VPC to the specified transit gateway.
  5686. //
  5687. // If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
  5688. // that is already attached, the new VPC CIDR range is not propagated to the
  5689. // default propagation route table.
  5690. //
  5691. // To send VPC traffic to an attached transit gateway, add a route to the VPC
  5692. // route table using CreateRoute.
  5693. //
  5694. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5695. // with awserr.Error's Code and Message methods to get detailed information about
  5696. // the error.
  5697. //
  5698. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5699. // API operation CreateTransitGatewayVpcAttachment for usage and error information.
  5700. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
  5701. func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
  5702. req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
  5703. return out, req.Send()
  5704. }
  5705. // CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
  5706. // the ability to pass a context and additional request options.
  5707. //
  5708. // See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
  5709. //
  5710. // The context must be non-nil and will be used for request cancellation. If
  5711. // the context is nil a panic will occur. In the future the SDK may create
  5712. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5713. // for more information on using Contexts.
  5714. func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
  5715. req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
  5716. req.SetContext(ctx)
  5717. req.ApplyOptions(opts...)
  5718. return out, req.Send()
  5719. }
  5720. const opCreateVolume = "CreateVolume"
  5721. // CreateVolumeRequest generates a "aws/request.Request" representing the
  5722. // client's request for the CreateVolume operation. The "output" return
  5723. // value will be populated with the request's response once the request completes
  5724. // successfully.
  5725. //
  5726. // Use "Send" method on the returned Request to send the API call to the service.
  5727. // the "output" return value is not valid until after Send returns without error.
  5728. //
  5729. // See CreateVolume for more information on using the CreateVolume
  5730. // API call, and error handling.
  5731. //
  5732. // This method is useful when you want to inject custom logic or configuration
  5733. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5734. //
  5735. //
  5736. // // Example sending a request using the CreateVolumeRequest method.
  5737. // req, resp := client.CreateVolumeRequest(params)
  5738. //
  5739. // err := req.Send()
  5740. // if err == nil { // resp is now filled
  5741. // fmt.Println(resp)
  5742. // }
  5743. //
  5744. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  5745. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  5746. op := &request.Operation{
  5747. Name: opCreateVolume,
  5748. HTTPMethod: "POST",
  5749. HTTPPath: "/",
  5750. }
  5751. if input == nil {
  5752. input = &CreateVolumeInput{}
  5753. }
  5754. output = &Volume{}
  5755. req = c.newRequest(op, input, output)
  5756. return
  5757. }
  5758. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  5759. //
  5760. // Creates an EBS volume that can be attached to an instance in the same Availability
  5761. // Zone. The volume is created in the regional endpoint that you send the HTTP
  5762. // request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
  5763. //
  5764. // You can create a new empty volume or restore a volume from an EBS snapshot.
  5765. // Any AWS Marketplace product codes from the snapshot are propagated to the
  5766. // volume.
  5767. //
  5768. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  5769. // volumes may only be attached to instances that support Amazon EBS encryption.
  5770. // Volumes that are created from encrypted snapshots are also automatically
  5771. // encrypted. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  5772. // in the Amazon Elastic Compute Cloud User Guide.
  5773. //
  5774. // You can tag your volumes during creation. For more information, see Tagging
  5775. // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5776. // in the Amazon Elastic Compute Cloud User Guide.
  5777. //
  5778. // For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  5779. // in the Amazon Elastic Compute Cloud User Guide.
  5780. //
  5781. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5782. // with awserr.Error's Code and Message methods to get detailed information about
  5783. // the error.
  5784. //
  5785. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5786. // API operation CreateVolume for usage and error information.
  5787. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  5788. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  5789. req, out := c.CreateVolumeRequest(input)
  5790. return out, req.Send()
  5791. }
  5792. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  5793. // the ability to pass a context and additional request options.
  5794. //
  5795. // See CreateVolume for details on how to use this API operation.
  5796. //
  5797. // The context must be non-nil and will be used for request cancellation. If
  5798. // the context is nil a panic will occur. In the future the SDK may create
  5799. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5800. // for more information on using Contexts.
  5801. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  5802. req, out := c.CreateVolumeRequest(input)
  5803. req.SetContext(ctx)
  5804. req.ApplyOptions(opts...)
  5805. return out, req.Send()
  5806. }
  5807. const opCreateVpc = "CreateVpc"
  5808. // CreateVpcRequest generates a "aws/request.Request" representing the
  5809. // client's request for the CreateVpc operation. The "output" return
  5810. // value will be populated with the request's response once the request completes
  5811. // successfully.
  5812. //
  5813. // Use "Send" method on the returned Request to send the API call to the service.
  5814. // the "output" return value is not valid until after Send returns without error.
  5815. //
  5816. // See CreateVpc for more information on using the CreateVpc
  5817. // API call, and error handling.
  5818. //
  5819. // This method is useful when you want to inject custom logic or configuration
  5820. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5821. //
  5822. //
  5823. // // Example sending a request using the CreateVpcRequest method.
  5824. // req, resp := client.CreateVpcRequest(params)
  5825. //
  5826. // err := req.Send()
  5827. // if err == nil { // resp is now filled
  5828. // fmt.Println(resp)
  5829. // }
  5830. //
  5831. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  5832. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  5833. op := &request.Operation{
  5834. Name: opCreateVpc,
  5835. HTTPMethod: "POST",
  5836. HTTPPath: "/",
  5837. }
  5838. if input == nil {
  5839. input = &CreateVpcInput{}
  5840. }
  5841. output = &CreateVpcOutput{}
  5842. req = c.newRequest(op, input, output)
  5843. return
  5844. }
  5845. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  5846. //
  5847. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  5848. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  5849. // netmask (65,536 IPv4 addresses). For more information about how large to
  5850. // make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  5851. // in the Amazon Virtual Private Cloud User Guide.
  5852. //
  5853. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  5854. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  5855. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  5856. //
  5857. // By default, each instance you launch in the VPC has the default DHCP options,
  5858. // which include only a default DNS server that we provide (AmazonProvidedDNS).
  5859. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  5860. // in the Amazon Virtual Private Cloud User Guide.
  5861. //
  5862. // You can specify the instance tenancy value for the VPC when you create it.
  5863. // You can't change this value for the VPC after you create it. For more information,
  5864. // see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  5865. // in the Amazon Elastic Compute Cloud User Guide.
  5866. //
  5867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5868. // with awserr.Error's Code and Message methods to get detailed information about
  5869. // the error.
  5870. //
  5871. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5872. // API operation CreateVpc for usage and error information.
  5873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  5874. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  5875. req, out := c.CreateVpcRequest(input)
  5876. return out, req.Send()
  5877. }
  5878. // CreateVpcWithContext is the same as CreateVpc with the addition of
  5879. // the ability to pass a context and additional request options.
  5880. //
  5881. // See CreateVpc for details on how to use this API operation.
  5882. //
  5883. // The context must be non-nil and will be used for request cancellation. If
  5884. // the context is nil a panic will occur. In the future the SDK may create
  5885. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5886. // for more information on using Contexts.
  5887. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  5888. req, out := c.CreateVpcRequest(input)
  5889. req.SetContext(ctx)
  5890. req.ApplyOptions(opts...)
  5891. return out, req.Send()
  5892. }
  5893. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  5894. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  5895. // client's request for the CreateVpcEndpoint operation. The "output" return
  5896. // value will be populated with the request's response once the request completes
  5897. // successfully.
  5898. //
  5899. // Use "Send" method on the returned Request to send the API call to the service.
  5900. // the "output" return value is not valid until after Send returns without error.
  5901. //
  5902. // See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
  5903. // API call, and error handling.
  5904. //
  5905. // This method is useful when you want to inject custom logic or configuration
  5906. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5907. //
  5908. //
  5909. // // Example sending a request using the CreateVpcEndpointRequest method.
  5910. // req, resp := client.CreateVpcEndpointRequest(params)
  5911. //
  5912. // err := req.Send()
  5913. // if err == nil { // resp is now filled
  5914. // fmt.Println(resp)
  5915. // }
  5916. //
  5917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  5918. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  5919. op := &request.Operation{
  5920. Name: opCreateVpcEndpoint,
  5921. HTTPMethod: "POST",
  5922. HTTPPath: "/",
  5923. }
  5924. if input == nil {
  5925. input = &CreateVpcEndpointInput{}
  5926. }
  5927. output = &CreateVpcEndpointOutput{}
  5928. req = c.newRequest(op, input, output)
  5929. return
  5930. }
  5931. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  5932. //
  5933. // Creates a VPC endpoint for a specified service. An endpoint enables you to
  5934. // create a private connection between your VPC and the service. The service
  5935. // may be provided by AWS, an AWS Marketplace partner, or another AWS account.
  5936. // For more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  5937. // in the Amazon Virtual Private Cloud User Guide.
  5938. //
  5939. // A gateway endpoint serves as a target for a route in your route table for
  5940. // traffic destined for the AWS service. You can specify an endpoint policy
  5941. // to attach to the endpoint that will control access to the service from your
  5942. // VPC. You can also specify the VPC route tables that use the endpoint.
  5943. //
  5944. // An interface endpoint is a network interface in your subnet that serves as
  5945. // an endpoint for communicating with the specified service. You can specify
  5946. // the subnets in which to create an endpoint, and the security groups to associate
  5947. // with the endpoint network interface.
  5948. //
  5949. // Use DescribeVpcEndpointServices to get a list of supported services.
  5950. //
  5951. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5952. // with awserr.Error's Code and Message methods to get detailed information about
  5953. // the error.
  5954. //
  5955. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5956. // API operation CreateVpcEndpoint for usage and error information.
  5957. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  5958. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  5959. req, out := c.CreateVpcEndpointRequest(input)
  5960. return out, req.Send()
  5961. }
  5962. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  5963. // the ability to pass a context and additional request options.
  5964. //
  5965. // See CreateVpcEndpoint for details on how to use this API operation.
  5966. //
  5967. // The context must be non-nil and will be used for request cancellation. If
  5968. // the context is nil a panic will occur. In the future the SDK may create
  5969. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5970. // for more information on using Contexts.
  5971. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  5972. req, out := c.CreateVpcEndpointRequest(input)
  5973. req.SetContext(ctx)
  5974. req.ApplyOptions(opts...)
  5975. return out, req.Send()
  5976. }
  5977. const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
  5978. // CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  5979. // client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
  5980. // value will be populated with the request's response once the request completes
  5981. // successfully.
  5982. //
  5983. // Use "Send" method on the returned Request to send the API call to the service.
  5984. // the "output" return value is not valid until after Send returns without error.
  5985. //
  5986. // See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
  5987. // API call, and error handling.
  5988. //
  5989. // This method is useful when you want to inject custom logic or configuration
  5990. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5991. //
  5992. //
  5993. // // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
  5994. // req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
  5995. //
  5996. // err := req.Send()
  5997. // if err == nil { // resp is now filled
  5998. // fmt.Println(resp)
  5999. // }
  6000. //
  6001. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  6002. func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
  6003. op := &request.Operation{
  6004. Name: opCreateVpcEndpointConnectionNotification,
  6005. HTTPMethod: "POST",
  6006. HTTPPath: "/",
  6007. }
  6008. if input == nil {
  6009. input = &CreateVpcEndpointConnectionNotificationInput{}
  6010. }
  6011. output = &CreateVpcEndpointConnectionNotificationOutput{}
  6012. req = c.newRequest(op, input, output)
  6013. return
  6014. }
  6015. // CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  6016. //
  6017. // Creates a connection notification for a specified VPC endpoint or VPC endpoint
  6018. // service. A connection notification notifies you of specific endpoint events.
  6019. // You must create an SNS topic to receive notifications. For more information,
  6020. // see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
  6021. // in the Amazon Simple Notification Service Developer Guide.
  6022. //
  6023. // You can create a connection notification for interface endpoints only.
  6024. //
  6025. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6026. // with awserr.Error's Code and Message methods to get detailed information about
  6027. // the error.
  6028. //
  6029. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6030. // API operation CreateVpcEndpointConnectionNotification for usage and error information.
  6031. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
  6032. func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  6033. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  6034. return out, req.Send()
  6035. }
  6036. // CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
  6037. // the ability to pass a context and additional request options.
  6038. //
  6039. // See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
  6040. //
  6041. // The context must be non-nil and will be used for request cancellation. If
  6042. // the context is nil a panic will occur. In the future the SDK may create
  6043. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6044. // for more information on using Contexts.
  6045. func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
  6046. req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
  6047. req.SetContext(ctx)
  6048. req.ApplyOptions(opts...)
  6049. return out, req.Send()
  6050. }
  6051. const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
  6052. // CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  6053. // client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
  6054. // value will be populated with the request's response once the request completes
  6055. // successfully.
  6056. //
  6057. // Use "Send" method on the returned Request to send the API call to the service.
  6058. // the "output" return value is not valid until after Send returns without error.
  6059. //
  6060. // See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
  6061. // API call, and error handling.
  6062. //
  6063. // This method is useful when you want to inject custom logic or configuration
  6064. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6065. //
  6066. //
  6067. // // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
  6068. // req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
  6069. //
  6070. // err := req.Send()
  6071. // if err == nil { // resp is now filled
  6072. // fmt.Println(resp)
  6073. // }
  6074. //
  6075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  6076. func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
  6077. op := &request.Operation{
  6078. Name: opCreateVpcEndpointServiceConfiguration,
  6079. HTTPMethod: "POST",
  6080. HTTPPath: "/",
  6081. }
  6082. if input == nil {
  6083. input = &CreateVpcEndpointServiceConfigurationInput{}
  6084. }
  6085. output = &CreateVpcEndpointServiceConfigurationOutput{}
  6086. req = c.newRequest(op, input, output)
  6087. return
  6088. }
  6089. // CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  6090. //
  6091. // Creates a VPC endpoint service configuration to which service consumers (AWS
  6092. // accounts, IAM users, and IAM roles) can connect. Service consumers can create
  6093. // an interface VPC endpoint to connect to your service.
  6094. //
  6095. // To create an endpoint service configuration, you must first create a Network
  6096. // Load Balancer for your service. For more information, see VPC Endpoint Services
  6097. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html)
  6098. // in the Amazon Virtual Private Cloud User Guide.
  6099. //
  6100. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6101. // with awserr.Error's Code and Message methods to get detailed information about
  6102. // the error.
  6103. //
  6104. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6105. // API operation CreateVpcEndpointServiceConfiguration for usage and error information.
  6106. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
  6107. func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  6108. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  6109. return out, req.Send()
  6110. }
  6111. // CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
  6112. // the ability to pass a context and additional request options.
  6113. //
  6114. // See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
  6115. //
  6116. // The context must be non-nil and will be used for request cancellation. If
  6117. // the context is nil a panic will occur. In the future the SDK may create
  6118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6119. // for more information on using Contexts.
  6120. func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
  6121. req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
  6122. req.SetContext(ctx)
  6123. req.ApplyOptions(opts...)
  6124. return out, req.Send()
  6125. }
  6126. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  6127. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  6128. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  6129. // value will be populated with the request's response once the request completes
  6130. // successfully.
  6131. //
  6132. // Use "Send" method on the returned Request to send the API call to the service.
  6133. // the "output" return value is not valid until after Send returns without error.
  6134. //
  6135. // See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
  6136. // API call, and error handling.
  6137. //
  6138. // This method is useful when you want to inject custom logic or configuration
  6139. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6140. //
  6141. //
  6142. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  6143. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  6144. //
  6145. // err := req.Send()
  6146. // if err == nil { // resp is now filled
  6147. // fmt.Println(resp)
  6148. // }
  6149. //
  6150. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  6151. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  6152. op := &request.Operation{
  6153. Name: opCreateVpcPeeringConnection,
  6154. HTTPMethod: "POST",
  6155. HTTPPath: "/",
  6156. }
  6157. if input == nil {
  6158. input = &CreateVpcPeeringConnectionInput{}
  6159. }
  6160. output = &CreateVpcPeeringConnectionOutput{}
  6161. req = c.newRequest(op, input, output)
  6162. return
  6163. }
  6164. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  6165. //
  6166. // Requests a VPC peering connection between two VPCs: a requester VPC that
  6167. // you own and an accepter VPC with which to create the connection. The accepter
  6168. // VPC can belong to another AWS account and can be in a different Region to
  6169. // the requester VPC. The requester VPC and accepter VPC cannot have overlapping
  6170. // CIDR blocks.
  6171. //
  6172. // Limitations and rules apply to a VPC peering connection. For more information,
  6173. // see the limitations (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations)
  6174. // section in the VPC Peering Guide.
  6175. //
  6176. // The owner of the accepter VPC must accept the peering request to activate
  6177. // the peering connection. The VPC peering connection request expires after
  6178. // 7 days, after which it cannot be accepted or rejected.
  6179. //
  6180. // If you create a VPC peering connection request between VPCs with overlapping
  6181. // CIDR blocks, the VPC peering connection has a status of failed.
  6182. //
  6183. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6184. // with awserr.Error's Code and Message methods to get detailed information about
  6185. // the error.
  6186. //
  6187. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6188. // API operation CreateVpcPeeringConnection for usage and error information.
  6189. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  6190. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  6191. req, out := c.CreateVpcPeeringConnectionRequest(input)
  6192. return out, req.Send()
  6193. }
  6194. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  6195. // the ability to pass a context and additional request options.
  6196. //
  6197. // See CreateVpcPeeringConnection for details on how to use this API operation.
  6198. //
  6199. // The context must be non-nil and will be used for request cancellation. If
  6200. // the context is nil a panic will occur. In the future the SDK may create
  6201. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6202. // for more information on using Contexts.
  6203. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  6204. req, out := c.CreateVpcPeeringConnectionRequest(input)
  6205. req.SetContext(ctx)
  6206. req.ApplyOptions(opts...)
  6207. return out, req.Send()
  6208. }
  6209. const opCreateVpnConnection = "CreateVpnConnection"
  6210. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  6211. // client's request for the CreateVpnConnection operation. The "output" return
  6212. // value will be populated with the request's response once the request completes
  6213. // successfully.
  6214. //
  6215. // Use "Send" method on the returned Request to send the API call to the service.
  6216. // the "output" return value is not valid until after Send returns without error.
  6217. //
  6218. // See CreateVpnConnection for more information on using the CreateVpnConnection
  6219. // API call, and error handling.
  6220. //
  6221. // This method is useful when you want to inject custom logic or configuration
  6222. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6223. //
  6224. //
  6225. // // Example sending a request using the CreateVpnConnectionRequest method.
  6226. // req, resp := client.CreateVpnConnectionRequest(params)
  6227. //
  6228. // err := req.Send()
  6229. // if err == nil { // resp is now filled
  6230. // fmt.Println(resp)
  6231. // }
  6232. //
  6233. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  6234. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  6235. op := &request.Operation{
  6236. Name: opCreateVpnConnection,
  6237. HTTPMethod: "POST",
  6238. HTTPPath: "/",
  6239. }
  6240. if input == nil {
  6241. input = &CreateVpnConnectionInput{}
  6242. }
  6243. output = &CreateVpnConnectionOutput{}
  6244. req = c.newRequest(op, input, output)
  6245. return
  6246. }
  6247. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  6248. //
  6249. // Creates a VPN connection between an existing virtual private gateway and
  6250. // a VPN customer gateway. The only supported connection type is ipsec.1.
  6251. //
  6252. // The response includes information that you need to give to your network administrator
  6253. // to configure your customer gateway.
  6254. //
  6255. // We strongly recommend that you use HTTPS when calling this operation because
  6256. // the response contains sensitive cryptographic information for configuring
  6257. // your customer gateway.
  6258. //
  6259. // If you decide to shut down your VPN connection for any reason and later create
  6260. // a new VPN connection, you must reconfigure your customer gateway with the
  6261. // new information returned from this call.
  6262. //
  6263. // This is an idempotent operation. If you perform the operation more than once,
  6264. // Amazon EC2 doesn't return an error.
  6265. //
  6266. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  6267. // in the AWS Site-to-Site VPN User Guide.
  6268. //
  6269. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6270. // with awserr.Error's Code and Message methods to get detailed information about
  6271. // the error.
  6272. //
  6273. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6274. // API operation CreateVpnConnection for usage and error information.
  6275. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  6276. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  6277. req, out := c.CreateVpnConnectionRequest(input)
  6278. return out, req.Send()
  6279. }
  6280. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  6281. // the ability to pass a context and additional request options.
  6282. //
  6283. // See CreateVpnConnection for details on how to use this API operation.
  6284. //
  6285. // The context must be non-nil and will be used for request cancellation. If
  6286. // the context is nil a panic will occur. In the future the SDK may create
  6287. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6288. // for more information on using Contexts.
  6289. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  6290. req, out := c.CreateVpnConnectionRequest(input)
  6291. req.SetContext(ctx)
  6292. req.ApplyOptions(opts...)
  6293. return out, req.Send()
  6294. }
  6295. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  6296. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  6297. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  6298. // value will be populated with the request's response once the request completes
  6299. // successfully.
  6300. //
  6301. // Use "Send" method on the returned Request to send the API call to the service.
  6302. // the "output" return value is not valid until after Send returns without error.
  6303. //
  6304. // See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
  6305. // API call, and error handling.
  6306. //
  6307. // This method is useful when you want to inject custom logic or configuration
  6308. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6309. //
  6310. //
  6311. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  6312. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  6313. //
  6314. // err := req.Send()
  6315. // if err == nil { // resp is now filled
  6316. // fmt.Println(resp)
  6317. // }
  6318. //
  6319. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  6320. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  6321. op := &request.Operation{
  6322. Name: opCreateVpnConnectionRoute,
  6323. HTTPMethod: "POST",
  6324. HTTPPath: "/",
  6325. }
  6326. if input == nil {
  6327. input = &CreateVpnConnectionRouteInput{}
  6328. }
  6329. output = &CreateVpnConnectionRouteOutput{}
  6330. req = c.newRequest(op, input, output)
  6331. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6332. return
  6333. }
  6334. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  6335. //
  6336. // Creates a static route associated with a VPN connection between an existing
  6337. // virtual private gateway and a VPN customer gateway. The static route allows
  6338. // traffic to be routed from the virtual private gateway to the VPN customer
  6339. // gateway.
  6340. //
  6341. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  6342. // in the AWS Site-to-Site VPN User Guide.
  6343. //
  6344. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6345. // with awserr.Error's Code and Message methods to get detailed information about
  6346. // the error.
  6347. //
  6348. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6349. // API operation CreateVpnConnectionRoute for usage and error information.
  6350. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  6351. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  6352. req, out := c.CreateVpnConnectionRouteRequest(input)
  6353. return out, req.Send()
  6354. }
  6355. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  6356. // the ability to pass a context and additional request options.
  6357. //
  6358. // See CreateVpnConnectionRoute for details on how to use this API operation.
  6359. //
  6360. // The context must be non-nil and will be used for request cancellation. If
  6361. // the context is nil a panic will occur. In the future the SDK may create
  6362. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6363. // for more information on using Contexts.
  6364. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  6365. req, out := c.CreateVpnConnectionRouteRequest(input)
  6366. req.SetContext(ctx)
  6367. req.ApplyOptions(opts...)
  6368. return out, req.Send()
  6369. }
  6370. const opCreateVpnGateway = "CreateVpnGateway"
  6371. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  6372. // client's request for the CreateVpnGateway operation. The "output" return
  6373. // value will be populated with the request's response once the request completes
  6374. // successfully.
  6375. //
  6376. // Use "Send" method on the returned Request to send the API call to the service.
  6377. // the "output" return value is not valid until after Send returns without error.
  6378. //
  6379. // See CreateVpnGateway for more information on using the CreateVpnGateway
  6380. // API call, and error handling.
  6381. //
  6382. // This method is useful when you want to inject custom logic or configuration
  6383. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6384. //
  6385. //
  6386. // // Example sending a request using the CreateVpnGatewayRequest method.
  6387. // req, resp := client.CreateVpnGatewayRequest(params)
  6388. //
  6389. // err := req.Send()
  6390. // if err == nil { // resp is now filled
  6391. // fmt.Println(resp)
  6392. // }
  6393. //
  6394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  6395. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  6396. op := &request.Operation{
  6397. Name: opCreateVpnGateway,
  6398. HTTPMethod: "POST",
  6399. HTTPPath: "/",
  6400. }
  6401. if input == nil {
  6402. input = &CreateVpnGatewayInput{}
  6403. }
  6404. output = &CreateVpnGatewayOutput{}
  6405. req = c.newRequest(op, input, output)
  6406. return
  6407. }
  6408. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  6409. //
  6410. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  6411. // on the VPC side of your VPN connection. You can create a virtual private
  6412. // gateway before creating the VPC itself.
  6413. //
  6414. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  6415. // in the AWS Site-to-Site VPN User Guide.
  6416. //
  6417. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6418. // with awserr.Error's Code and Message methods to get detailed information about
  6419. // the error.
  6420. //
  6421. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6422. // API operation CreateVpnGateway for usage and error information.
  6423. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  6424. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  6425. req, out := c.CreateVpnGatewayRequest(input)
  6426. return out, req.Send()
  6427. }
  6428. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  6429. // the ability to pass a context and additional request options.
  6430. //
  6431. // See CreateVpnGateway for details on how to use this API operation.
  6432. //
  6433. // The context must be non-nil and will be used for request cancellation. If
  6434. // the context is nil a panic will occur. In the future the SDK may create
  6435. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6436. // for more information on using Contexts.
  6437. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  6438. req, out := c.CreateVpnGatewayRequest(input)
  6439. req.SetContext(ctx)
  6440. req.ApplyOptions(opts...)
  6441. return out, req.Send()
  6442. }
  6443. const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
  6444. // DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
  6445. // client's request for the DeleteClientVpnEndpoint operation. The "output" return
  6446. // value will be populated with the request's response once the request completes
  6447. // successfully.
  6448. //
  6449. // Use "Send" method on the returned Request to send the API call to the service.
  6450. // the "output" return value is not valid until after Send returns without error.
  6451. //
  6452. // See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
  6453. // API call, and error handling.
  6454. //
  6455. // This method is useful when you want to inject custom logic or configuration
  6456. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6457. //
  6458. //
  6459. // // Example sending a request using the DeleteClientVpnEndpointRequest method.
  6460. // req, resp := client.DeleteClientVpnEndpointRequest(params)
  6461. //
  6462. // err := req.Send()
  6463. // if err == nil { // resp is now filled
  6464. // fmt.Println(resp)
  6465. // }
  6466. //
  6467. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
  6468. func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
  6469. op := &request.Operation{
  6470. Name: opDeleteClientVpnEndpoint,
  6471. HTTPMethod: "POST",
  6472. HTTPPath: "/",
  6473. }
  6474. if input == nil {
  6475. input = &DeleteClientVpnEndpointInput{}
  6476. }
  6477. output = &DeleteClientVpnEndpointOutput{}
  6478. req = c.newRequest(op, input, output)
  6479. return
  6480. }
  6481. // DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  6482. //
  6483. // Deletes the specified Client VPN endpoint. You must disassociate all target
  6484. // networks before you can delete a Client VPN endpoint.
  6485. //
  6486. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6487. // with awserr.Error's Code and Message methods to get detailed information about
  6488. // the error.
  6489. //
  6490. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6491. // API operation DeleteClientVpnEndpoint for usage and error information.
  6492. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
  6493. func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
  6494. req, out := c.DeleteClientVpnEndpointRequest(input)
  6495. return out, req.Send()
  6496. }
  6497. // DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
  6498. // the ability to pass a context and additional request options.
  6499. //
  6500. // See DeleteClientVpnEndpoint for details on how to use this API operation.
  6501. //
  6502. // The context must be non-nil and will be used for request cancellation. If
  6503. // the context is nil a panic will occur. In the future the SDK may create
  6504. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6505. // for more information on using Contexts.
  6506. func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
  6507. req, out := c.DeleteClientVpnEndpointRequest(input)
  6508. req.SetContext(ctx)
  6509. req.ApplyOptions(opts...)
  6510. return out, req.Send()
  6511. }
  6512. const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
  6513. // DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
  6514. // client's request for the DeleteClientVpnRoute operation. The "output" return
  6515. // value will be populated with the request's response once the request completes
  6516. // successfully.
  6517. //
  6518. // Use "Send" method on the returned Request to send the API call to the service.
  6519. // the "output" return value is not valid until after Send returns without error.
  6520. //
  6521. // See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
  6522. // API call, and error handling.
  6523. //
  6524. // This method is useful when you want to inject custom logic or configuration
  6525. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6526. //
  6527. //
  6528. // // Example sending a request using the DeleteClientVpnRouteRequest method.
  6529. // req, resp := client.DeleteClientVpnRouteRequest(params)
  6530. //
  6531. // err := req.Send()
  6532. // if err == nil { // resp is now filled
  6533. // fmt.Println(resp)
  6534. // }
  6535. //
  6536. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
  6537. func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
  6538. op := &request.Operation{
  6539. Name: opDeleteClientVpnRoute,
  6540. HTTPMethod: "POST",
  6541. HTTPPath: "/",
  6542. }
  6543. if input == nil {
  6544. input = &DeleteClientVpnRouteInput{}
  6545. }
  6546. output = &DeleteClientVpnRouteOutput{}
  6547. req = c.newRequest(op, input, output)
  6548. return
  6549. }
  6550. // DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
  6551. //
  6552. // Deletes a route from a Client VPN endpoint. You can only delete routes that
  6553. // you manually added using the CreateClientVpnRoute action. You cannot delete
  6554. // routes that were automatically added when associating a subnet. To remove
  6555. // routes that have been automatically added, disassociate the target subnet
  6556. // from the Client VPN endpoint.
  6557. //
  6558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6559. // with awserr.Error's Code and Message methods to get detailed information about
  6560. // the error.
  6561. //
  6562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6563. // API operation DeleteClientVpnRoute for usage and error information.
  6564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
  6565. func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
  6566. req, out := c.DeleteClientVpnRouteRequest(input)
  6567. return out, req.Send()
  6568. }
  6569. // DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
  6570. // the ability to pass a context and additional request options.
  6571. //
  6572. // See DeleteClientVpnRoute for details on how to use this API operation.
  6573. //
  6574. // The context must be non-nil and will be used for request cancellation. If
  6575. // the context is nil a panic will occur. In the future the SDK may create
  6576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6577. // for more information on using Contexts.
  6578. func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
  6579. req, out := c.DeleteClientVpnRouteRequest(input)
  6580. req.SetContext(ctx)
  6581. req.ApplyOptions(opts...)
  6582. return out, req.Send()
  6583. }
  6584. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  6585. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  6586. // client's request for the DeleteCustomerGateway operation. The "output" return
  6587. // value will be populated with the request's response once the request completes
  6588. // successfully.
  6589. //
  6590. // Use "Send" method on the returned Request to send the API call to the service.
  6591. // the "output" return value is not valid until after Send returns without error.
  6592. //
  6593. // See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
  6594. // API call, and error handling.
  6595. //
  6596. // This method is useful when you want to inject custom logic or configuration
  6597. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6598. //
  6599. //
  6600. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  6601. // req, resp := client.DeleteCustomerGatewayRequest(params)
  6602. //
  6603. // err := req.Send()
  6604. // if err == nil { // resp is now filled
  6605. // fmt.Println(resp)
  6606. // }
  6607. //
  6608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  6609. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  6610. op := &request.Operation{
  6611. Name: opDeleteCustomerGateway,
  6612. HTTPMethod: "POST",
  6613. HTTPPath: "/",
  6614. }
  6615. if input == nil {
  6616. input = &DeleteCustomerGatewayInput{}
  6617. }
  6618. output = &DeleteCustomerGatewayOutput{}
  6619. req = c.newRequest(op, input, output)
  6620. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6621. return
  6622. }
  6623. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  6624. //
  6625. // Deletes the specified customer gateway. You must delete the VPN connection
  6626. // before you can delete the customer gateway.
  6627. //
  6628. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6629. // with awserr.Error's Code and Message methods to get detailed information about
  6630. // the error.
  6631. //
  6632. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6633. // API operation DeleteCustomerGateway for usage and error information.
  6634. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  6635. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  6636. req, out := c.DeleteCustomerGatewayRequest(input)
  6637. return out, req.Send()
  6638. }
  6639. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  6640. // the ability to pass a context and additional request options.
  6641. //
  6642. // See DeleteCustomerGateway for details on how to use this API operation.
  6643. //
  6644. // The context must be non-nil and will be used for request cancellation. If
  6645. // the context is nil a panic will occur. In the future the SDK may create
  6646. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6647. // for more information on using Contexts.
  6648. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  6649. req, out := c.DeleteCustomerGatewayRequest(input)
  6650. req.SetContext(ctx)
  6651. req.ApplyOptions(opts...)
  6652. return out, req.Send()
  6653. }
  6654. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  6655. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  6656. // client's request for the DeleteDhcpOptions operation. The "output" return
  6657. // value will be populated with the request's response once the request completes
  6658. // successfully.
  6659. //
  6660. // Use "Send" method on the returned Request to send the API call to the service.
  6661. // the "output" return value is not valid until after Send returns without error.
  6662. //
  6663. // See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
  6664. // API call, and error handling.
  6665. //
  6666. // This method is useful when you want to inject custom logic or configuration
  6667. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6668. //
  6669. //
  6670. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  6671. // req, resp := client.DeleteDhcpOptionsRequest(params)
  6672. //
  6673. // err := req.Send()
  6674. // if err == nil { // resp is now filled
  6675. // fmt.Println(resp)
  6676. // }
  6677. //
  6678. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  6679. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  6680. op := &request.Operation{
  6681. Name: opDeleteDhcpOptions,
  6682. HTTPMethod: "POST",
  6683. HTTPPath: "/",
  6684. }
  6685. if input == nil {
  6686. input = &DeleteDhcpOptionsInput{}
  6687. }
  6688. output = &DeleteDhcpOptionsOutput{}
  6689. req = c.newRequest(op, input, output)
  6690. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6691. return
  6692. }
  6693. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  6694. //
  6695. // Deletes the specified set of DHCP options. You must disassociate the set
  6696. // of DHCP options before you can delete it. You can disassociate the set of
  6697. // DHCP options by associating either a new set of options or the default set
  6698. // of options with the VPC.
  6699. //
  6700. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6701. // with awserr.Error's Code and Message methods to get detailed information about
  6702. // the error.
  6703. //
  6704. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6705. // API operation DeleteDhcpOptions for usage and error information.
  6706. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  6707. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  6708. req, out := c.DeleteDhcpOptionsRequest(input)
  6709. return out, req.Send()
  6710. }
  6711. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  6712. // the ability to pass a context and additional request options.
  6713. //
  6714. // See DeleteDhcpOptions for details on how to use this API operation.
  6715. //
  6716. // The context must be non-nil and will be used for request cancellation. If
  6717. // the context is nil a panic will occur. In the future the SDK may create
  6718. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6719. // for more information on using Contexts.
  6720. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  6721. req, out := c.DeleteDhcpOptionsRequest(input)
  6722. req.SetContext(ctx)
  6723. req.ApplyOptions(opts...)
  6724. return out, req.Send()
  6725. }
  6726. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  6727. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  6728. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  6729. // value will be populated with the request's response once the request completes
  6730. // successfully.
  6731. //
  6732. // Use "Send" method on the returned Request to send the API call to the service.
  6733. // the "output" return value is not valid until after Send returns without error.
  6734. //
  6735. // See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
  6736. // API call, and error handling.
  6737. //
  6738. // This method is useful when you want to inject custom logic or configuration
  6739. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6740. //
  6741. //
  6742. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  6743. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  6744. //
  6745. // err := req.Send()
  6746. // if err == nil { // resp is now filled
  6747. // fmt.Println(resp)
  6748. // }
  6749. //
  6750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  6751. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  6752. op := &request.Operation{
  6753. Name: opDeleteEgressOnlyInternetGateway,
  6754. HTTPMethod: "POST",
  6755. HTTPPath: "/",
  6756. }
  6757. if input == nil {
  6758. input = &DeleteEgressOnlyInternetGatewayInput{}
  6759. }
  6760. output = &DeleteEgressOnlyInternetGatewayOutput{}
  6761. req = c.newRequest(op, input, output)
  6762. return
  6763. }
  6764. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  6765. //
  6766. // Deletes an egress-only internet gateway.
  6767. //
  6768. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6769. // with awserr.Error's Code and Message methods to get detailed information about
  6770. // the error.
  6771. //
  6772. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6773. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  6774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  6775. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  6776. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  6777. return out, req.Send()
  6778. }
  6779. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  6780. // the ability to pass a context and additional request options.
  6781. //
  6782. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  6783. //
  6784. // The context must be non-nil and will be used for request cancellation. If
  6785. // the context is nil a panic will occur. In the future the SDK may create
  6786. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6787. // for more information on using Contexts.
  6788. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  6789. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  6790. req.SetContext(ctx)
  6791. req.ApplyOptions(opts...)
  6792. return out, req.Send()
  6793. }
  6794. const opDeleteFleets = "DeleteFleets"
  6795. // DeleteFleetsRequest generates a "aws/request.Request" representing the
  6796. // client's request for the DeleteFleets operation. The "output" return
  6797. // value will be populated with the request's response once the request completes
  6798. // successfully.
  6799. //
  6800. // Use "Send" method on the returned Request to send the API call to the service.
  6801. // the "output" return value is not valid until after Send returns without error.
  6802. //
  6803. // See DeleteFleets for more information on using the DeleteFleets
  6804. // API call, and error handling.
  6805. //
  6806. // This method is useful when you want to inject custom logic or configuration
  6807. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6808. //
  6809. //
  6810. // // Example sending a request using the DeleteFleetsRequest method.
  6811. // req, resp := client.DeleteFleetsRequest(params)
  6812. //
  6813. // err := req.Send()
  6814. // if err == nil { // resp is now filled
  6815. // fmt.Println(resp)
  6816. // }
  6817. //
  6818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  6819. func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
  6820. op := &request.Operation{
  6821. Name: opDeleteFleets,
  6822. HTTPMethod: "POST",
  6823. HTTPPath: "/",
  6824. }
  6825. if input == nil {
  6826. input = &DeleteFleetsInput{}
  6827. }
  6828. output = &DeleteFleetsOutput{}
  6829. req = c.newRequest(op, input, output)
  6830. return
  6831. }
  6832. // DeleteFleets API operation for Amazon Elastic Compute Cloud.
  6833. //
  6834. // Deletes the specified EC2 Fleet.
  6835. //
  6836. // After you delete an EC2 Fleet, it launches no new instances. You must specify
  6837. // whether an EC2 Fleet should also terminate its instances. If you terminate
  6838. // the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
  6839. // the EC2 Fleet enters the deleted_running state, and the instances continue
  6840. // to run until they are interrupted or you terminate them manually.
  6841. //
  6842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6843. // with awserr.Error's Code and Message methods to get detailed information about
  6844. // the error.
  6845. //
  6846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6847. // API operation DeleteFleets for usage and error information.
  6848. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
  6849. func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
  6850. req, out := c.DeleteFleetsRequest(input)
  6851. return out, req.Send()
  6852. }
  6853. // DeleteFleetsWithContext is the same as DeleteFleets with the addition of
  6854. // the ability to pass a context and additional request options.
  6855. //
  6856. // See DeleteFleets for details on how to use this API operation.
  6857. //
  6858. // The context must be non-nil and will be used for request cancellation. If
  6859. // the context is nil a panic will occur. In the future the SDK may create
  6860. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6861. // for more information on using Contexts.
  6862. func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
  6863. req, out := c.DeleteFleetsRequest(input)
  6864. req.SetContext(ctx)
  6865. req.ApplyOptions(opts...)
  6866. return out, req.Send()
  6867. }
  6868. const opDeleteFlowLogs = "DeleteFlowLogs"
  6869. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  6870. // client's request for the DeleteFlowLogs operation. The "output" return
  6871. // value will be populated with the request's response once the request completes
  6872. // successfully.
  6873. //
  6874. // Use "Send" method on the returned Request to send the API call to the service.
  6875. // the "output" return value is not valid until after Send returns without error.
  6876. //
  6877. // See DeleteFlowLogs for more information on using the DeleteFlowLogs
  6878. // API call, and error handling.
  6879. //
  6880. // This method is useful when you want to inject custom logic or configuration
  6881. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6882. //
  6883. //
  6884. // // Example sending a request using the DeleteFlowLogsRequest method.
  6885. // req, resp := client.DeleteFlowLogsRequest(params)
  6886. //
  6887. // err := req.Send()
  6888. // if err == nil { // resp is now filled
  6889. // fmt.Println(resp)
  6890. // }
  6891. //
  6892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  6893. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  6894. op := &request.Operation{
  6895. Name: opDeleteFlowLogs,
  6896. HTTPMethod: "POST",
  6897. HTTPPath: "/",
  6898. }
  6899. if input == nil {
  6900. input = &DeleteFlowLogsInput{}
  6901. }
  6902. output = &DeleteFlowLogsOutput{}
  6903. req = c.newRequest(op, input, output)
  6904. return
  6905. }
  6906. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  6907. //
  6908. // Deletes one or more flow logs.
  6909. //
  6910. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6911. // with awserr.Error's Code and Message methods to get detailed information about
  6912. // the error.
  6913. //
  6914. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6915. // API operation DeleteFlowLogs for usage and error information.
  6916. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  6917. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  6918. req, out := c.DeleteFlowLogsRequest(input)
  6919. return out, req.Send()
  6920. }
  6921. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  6922. // the ability to pass a context and additional request options.
  6923. //
  6924. // See DeleteFlowLogs for details on how to use this API operation.
  6925. //
  6926. // The context must be non-nil and will be used for request cancellation. If
  6927. // the context is nil a panic will occur. In the future the SDK may create
  6928. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6929. // for more information on using Contexts.
  6930. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  6931. req, out := c.DeleteFlowLogsRequest(input)
  6932. req.SetContext(ctx)
  6933. req.ApplyOptions(opts...)
  6934. return out, req.Send()
  6935. }
  6936. const opDeleteFpgaImage = "DeleteFpgaImage"
  6937. // DeleteFpgaImageRequest generates a "aws/request.Request" representing the
  6938. // client's request for the DeleteFpgaImage operation. The "output" return
  6939. // value will be populated with the request's response once the request completes
  6940. // successfully.
  6941. //
  6942. // Use "Send" method on the returned Request to send the API call to the service.
  6943. // the "output" return value is not valid until after Send returns without error.
  6944. //
  6945. // See DeleteFpgaImage for more information on using the DeleteFpgaImage
  6946. // API call, and error handling.
  6947. //
  6948. // This method is useful when you want to inject custom logic or configuration
  6949. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6950. //
  6951. //
  6952. // // Example sending a request using the DeleteFpgaImageRequest method.
  6953. // req, resp := client.DeleteFpgaImageRequest(params)
  6954. //
  6955. // err := req.Send()
  6956. // if err == nil { // resp is now filled
  6957. // fmt.Println(resp)
  6958. // }
  6959. //
  6960. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  6961. func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
  6962. op := &request.Operation{
  6963. Name: opDeleteFpgaImage,
  6964. HTTPMethod: "POST",
  6965. HTTPPath: "/",
  6966. }
  6967. if input == nil {
  6968. input = &DeleteFpgaImageInput{}
  6969. }
  6970. output = &DeleteFpgaImageOutput{}
  6971. req = c.newRequest(op, input, output)
  6972. return
  6973. }
  6974. // DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
  6975. //
  6976. // Deletes the specified Amazon FPGA Image (AFI).
  6977. //
  6978. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6979. // with awserr.Error's Code and Message methods to get detailed information about
  6980. // the error.
  6981. //
  6982. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6983. // API operation DeleteFpgaImage for usage and error information.
  6984. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
  6985. func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
  6986. req, out := c.DeleteFpgaImageRequest(input)
  6987. return out, req.Send()
  6988. }
  6989. // DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
  6990. // the ability to pass a context and additional request options.
  6991. //
  6992. // See DeleteFpgaImage for details on how to use this API operation.
  6993. //
  6994. // The context must be non-nil and will be used for request cancellation. If
  6995. // the context is nil a panic will occur. In the future the SDK may create
  6996. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6997. // for more information on using Contexts.
  6998. func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
  6999. req, out := c.DeleteFpgaImageRequest(input)
  7000. req.SetContext(ctx)
  7001. req.ApplyOptions(opts...)
  7002. return out, req.Send()
  7003. }
  7004. const opDeleteInternetGateway = "DeleteInternetGateway"
  7005. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  7006. // client's request for the DeleteInternetGateway operation. The "output" return
  7007. // value will be populated with the request's response once the request completes
  7008. // successfully.
  7009. //
  7010. // Use "Send" method on the returned Request to send the API call to the service.
  7011. // the "output" return value is not valid until after Send returns without error.
  7012. //
  7013. // See DeleteInternetGateway for more information on using the DeleteInternetGateway
  7014. // API call, and error handling.
  7015. //
  7016. // This method is useful when you want to inject custom logic or configuration
  7017. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7018. //
  7019. //
  7020. // // Example sending a request using the DeleteInternetGatewayRequest method.
  7021. // req, resp := client.DeleteInternetGatewayRequest(params)
  7022. //
  7023. // err := req.Send()
  7024. // if err == nil { // resp is now filled
  7025. // fmt.Println(resp)
  7026. // }
  7027. //
  7028. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  7029. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  7030. op := &request.Operation{
  7031. Name: opDeleteInternetGateway,
  7032. HTTPMethod: "POST",
  7033. HTTPPath: "/",
  7034. }
  7035. if input == nil {
  7036. input = &DeleteInternetGatewayInput{}
  7037. }
  7038. output = &DeleteInternetGatewayOutput{}
  7039. req = c.newRequest(op, input, output)
  7040. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7041. return
  7042. }
  7043. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  7044. //
  7045. // Deletes the specified internet gateway. You must detach the internet gateway
  7046. // from the VPC before you can delete it.
  7047. //
  7048. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7049. // with awserr.Error's Code and Message methods to get detailed information about
  7050. // the error.
  7051. //
  7052. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7053. // API operation DeleteInternetGateway for usage and error information.
  7054. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  7055. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  7056. req, out := c.DeleteInternetGatewayRequest(input)
  7057. return out, req.Send()
  7058. }
  7059. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  7060. // the ability to pass a context and additional request options.
  7061. //
  7062. // See DeleteInternetGateway for details on how to use this API operation.
  7063. //
  7064. // The context must be non-nil and will be used for request cancellation. If
  7065. // the context is nil a panic will occur. In the future the SDK may create
  7066. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7067. // for more information on using Contexts.
  7068. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  7069. req, out := c.DeleteInternetGatewayRequest(input)
  7070. req.SetContext(ctx)
  7071. req.ApplyOptions(opts...)
  7072. return out, req.Send()
  7073. }
  7074. const opDeleteKeyPair = "DeleteKeyPair"
  7075. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  7076. // client's request for the DeleteKeyPair operation. The "output" return
  7077. // value will be populated with the request's response once the request completes
  7078. // successfully.
  7079. //
  7080. // Use "Send" method on the returned Request to send the API call to the service.
  7081. // the "output" return value is not valid until after Send returns without error.
  7082. //
  7083. // See DeleteKeyPair for more information on using the DeleteKeyPair
  7084. // API call, and error handling.
  7085. //
  7086. // This method is useful when you want to inject custom logic or configuration
  7087. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7088. //
  7089. //
  7090. // // Example sending a request using the DeleteKeyPairRequest method.
  7091. // req, resp := client.DeleteKeyPairRequest(params)
  7092. //
  7093. // err := req.Send()
  7094. // if err == nil { // resp is now filled
  7095. // fmt.Println(resp)
  7096. // }
  7097. //
  7098. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  7099. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  7100. op := &request.Operation{
  7101. Name: opDeleteKeyPair,
  7102. HTTPMethod: "POST",
  7103. HTTPPath: "/",
  7104. }
  7105. if input == nil {
  7106. input = &DeleteKeyPairInput{}
  7107. }
  7108. output = &DeleteKeyPairOutput{}
  7109. req = c.newRequest(op, input, output)
  7110. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7111. return
  7112. }
  7113. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  7114. //
  7115. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  7116. //
  7117. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7118. // with awserr.Error's Code and Message methods to get detailed information about
  7119. // the error.
  7120. //
  7121. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7122. // API operation DeleteKeyPair for usage and error information.
  7123. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  7124. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  7125. req, out := c.DeleteKeyPairRequest(input)
  7126. return out, req.Send()
  7127. }
  7128. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  7129. // the ability to pass a context and additional request options.
  7130. //
  7131. // See DeleteKeyPair for details on how to use this API operation.
  7132. //
  7133. // The context must be non-nil and will be used for request cancellation. If
  7134. // the context is nil a panic will occur. In the future the SDK may create
  7135. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7136. // for more information on using Contexts.
  7137. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  7138. req, out := c.DeleteKeyPairRequest(input)
  7139. req.SetContext(ctx)
  7140. req.ApplyOptions(opts...)
  7141. return out, req.Send()
  7142. }
  7143. const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
  7144. // DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
  7145. // client's request for the DeleteLaunchTemplate operation. The "output" return
  7146. // value will be populated with the request's response once the request completes
  7147. // successfully.
  7148. //
  7149. // Use "Send" method on the returned Request to send the API call to the service.
  7150. // the "output" return value is not valid until after Send returns without error.
  7151. //
  7152. // See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
  7153. // API call, and error handling.
  7154. //
  7155. // This method is useful when you want to inject custom logic or configuration
  7156. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7157. //
  7158. //
  7159. // // Example sending a request using the DeleteLaunchTemplateRequest method.
  7160. // req, resp := client.DeleteLaunchTemplateRequest(params)
  7161. //
  7162. // err := req.Send()
  7163. // if err == nil { // resp is now filled
  7164. // fmt.Println(resp)
  7165. // }
  7166. //
  7167. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  7168. func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
  7169. op := &request.Operation{
  7170. Name: opDeleteLaunchTemplate,
  7171. HTTPMethod: "POST",
  7172. HTTPPath: "/",
  7173. }
  7174. if input == nil {
  7175. input = &DeleteLaunchTemplateInput{}
  7176. }
  7177. output = &DeleteLaunchTemplateOutput{}
  7178. req = c.newRequest(op, input, output)
  7179. return
  7180. }
  7181. // DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  7182. //
  7183. // Deletes a launch template. Deleting a launch template deletes all of its
  7184. // versions.
  7185. //
  7186. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7187. // with awserr.Error's Code and Message methods to get detailed information about
  7188. // the error.
  7189. //
  7190. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7191. // API operation DeleteLaunchTemplate for usage and error information.
  7192. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
  7193. func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
  7194. req, out := c.DeleteLaunchTemplateRequest(input)
  7195. return out, req.Send()
  7196. }
  7197. // DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
  7198. // the ability to pass a context and additional request options.
  7199. //
  7200. // See DeleteLaunchTemplate for details on how to use this API operation.
  7201. //
  7202. // The context must be non-nil and will be used for request cancellation. If
  7203. // the context is nil a panic will occur. In the future the SDK may create
  7204. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7205. // for more information on using Contexts.
  7206. func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
  7207. req, out := c.DeleteLaunchTemplateRequest(input)
  7208. req.SetContext(ctx)
  7209. req.ApplyOptions(opts...)
  7210. return out, req.Send()
  7211. }
  7212. const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
  7213. // DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  7214. // client's request for the DeleteLaunchTemplateVersions operation. The "output" return
  7215. // value will be populated with the request's response once the request completes
  7216. // successfully.
  7217. //
  7218. // Use "Send" method on the returned Request to send the API call to the service.
  7219. // the "output" return value is not valid until after Send returns without error.
  7220. //
  7221. // See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
  7222. // API call, and error handling.
  7223. //
  7224. // This method is useful when you want to inject custom logic or configuration
  7225. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7226. //
  7227. //
  7228. // // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
  7229. // req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
  7230. //
  7231. // err := req.Send()
  7232. // if err == nil { // resp is now filled
  7233. // fmt.Println(resp)
  7234. // }
  7235. //
  7236. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  7237. func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
  7238. op := &request.Operation{
  7239. Name: opDeleteLaunchTemplateVersions,
  7240. HTTPMethod: "POST",
  7241. HTTPPath: "/",
  7242. }
  7243. if input == nil {
  7244. input = &DeleteLaunchTemplateVersionsInput{}
  7245. }
  7246. output = &DeleteLaunchTemplateVersionsOutput{}
  7247. req = c.newRequest(op, input, output)
  7248. return
  7249. }
  7250. // DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  7251. //
  7252. // Deletes one or more versions of a launch template. You cannot delete the
  7253. // default version of a launch template; you must first assign a different version
  7254. // as the default. If the default version is the only version for the launch
  7255. // template, you must delete the entire launch template using DeleteLaunchTemplate.
  7256. //
  7257. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7258. // with awserr.Error's Code and Message methods to get detailed information about
  7259. // the error.
  7260. //
  7261. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7262. // API operation DeleteLaunchTemplateVersions for usage and error information.
  7263. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
  7264. func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
  7265. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  7266. return out, req.Send()
  7267. }
  7268. // DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
  7269. // the ability to pass a context and additional request options.
  7270. //
  7271. // See DeleteLaunchTemplateVersions for details on how to use this API operation.
  7272. //
  7273. // The context must be non-nil and will be used for request cancellation. If
  7274. // the context is nil a panic will occur. In the future the SDK may create
  7275. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7276. // for more information on using Contexts.
  7277. func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
  7278. req, out := c.DeleteLaunchTemplateVersionsRequest(input)
  7279. req.SetContext(ctx)
  7280. req.ApplyOptions(opts...)
  7281. return out, req.Send()
  7282. }
  7283. const opDeleteNatGateway = "DeleteNatGateway"
  7284. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  7285. // client's request for the DeleteNatGateway operation. The "output" return
  7286. // value will be populated with the request's response once the request completes
  7287. // successfully.
  7288. //
  7289. // Use "Send" method on the returned Request to send the API call to the service.
  7290. // the "output" return value is not valid until after Send returns without error.
  7291. //
  7292. // See DeleteNatGateway for more information on using the DeleteNatGateway
  7293. // API call, and error handling.
  7294. //
  7295. // This method is useful when you want to inject custom logic or configuration
  7296. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7297. //
  7298. //
  7299. // // Example sending a request using the DeleteNatGatewayRequest method.
  7300. // req, resp := client.DeleteNatGatewayRequest(params)
  7301. //
  7302. // err := req.Send()
  7303. // if err == nil { // resp is now filled
  7304. // fmt.Println(resp)
  7305. // }
  7306. //
  7307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  7308. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  7309. op := &request.Operation{
  7310. Name: opDeleteNatGateway,
  7311. HTTPMethod: "POST",
  7312. HTTPPath: "/",
  7313. }
  7314. if input == nil {
  7315. input = &DeleteNatGatewayInput{}
  7316. }
  7317. output = &DeleteNatGatewayOutput{}
  7318. req = c.newRequest(op, input, output)
  7319. return
  7320. }
  7321. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  7322. //
  7323. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  7324. // Elastic IP address, but does not release the address from your account. Deleting
  7325. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  7326. //
  7327. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7328. // with awserr.Error's Code and Message methods to get detailed information about
  7329. // the error.
  7330. //
  7331. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7332. // API operation DeleteNatGateway for usage and error information.
  7333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  7334. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  7335. req, out := c.DeleteNatGatewayRequest(input)
  7336. return out, req.Send()
  7337. }
  7338. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  7339. // the ability to pass a context and additional request options.
  7340. //
  7341. // See DeleteNatGateway for details on how to use this API operation.
  7342. //
  7343. // The context must be non-nil and will be used for request cancellation. If
  7344. // the context is nil a panic will occur. In the future the SDK may create
  7345. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7346. // for more information on using Contexts.
  7347. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  7348. req, out := c.DeleteNatGatewayRequest(input)
  7349. req.SetContext(ctx)
  7350. req.ApplyOptions(opts...)
  7351. return out, req.Send()
  7352. }
  7353. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  7354. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  7355. // client's request for the DeleteNetworkAcl operation. The "output" return
  7356. // value will be populated with the request's response once the request completes
  7357. // successfully.
  7358. //
  7359. // Use "Send" method on the returned Request to send the API call to the service.
  7360. // the "output" return value is not valid until after Send returns without error.
  7361. //
  7362. // See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
  7363. // API call, and error handling.
  7364. //
  7365. // This method is useful when you want to inject custom logic or configuration
  7366. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7367. //
  7368. //
  7369. // // Example sending a request using the DeleteNetworkAclRequest method.
  7370. // req, resp := client.DeleteNetworkAclRequest(params)
  7371. //
  7372. // err := req.Send()
  7373. // if err == nil { // resp is now filled
  7374. // fmt.Println(resp)
  7375. // }
  7376. //
  7377. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  7378. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  7379. op := &request.Operation{
  7380. Name: opDeleteNetworkAcl,
  7381. HTTPMethod: "POST",
  7382. HTTPPath: "/",
  7383. }
  7384. if input == nil {
  7385. input = &DeleteNetworkAclInput{}
  7386. }
  7387. output = &DeleteNetworkAclOutput{}
  7388. req = c.newRequest(op, input, output)
  7389. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7390. return
  7391. }
  7392. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  7393. //
  7394. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  7395. // with any subnets. You can't delete the default network ACL.
  7396. //
  7397. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7398. // with awserr.Error's Code and Message methods to get detailed information about
  7399. // the error.
  7400. //
  7401. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7402. // API operation DeleteNetworkAcl for usage and error information.
  7403. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  7404. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  7405. req, out := c.DeleteNetworkAclRequest(input)
  7406. return out, req.Send()
  7407. }
  7408. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  7409. // the ability to pass a context and additional request options.
  7410. //
  7411. // See DeleteNetworkAcl for details on how to use this API operation.
  7412. //
  7413. // The context must be non-nil and will be used for request cancellation. If
  7414. // the context is nil a panic will occur. In the future the SDK may create
  7415. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7416. // for more information on using Contexts.
  7417. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  7418. req, out := c.DeleteNetworkAclRequest(input)
  7419. req.SetContext(ctx)
  7420. req.ApplyOptions(opts...)
  7421. return out, req.Send()
  7422. }
  7423. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  7424. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  7425. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  7426. // value will be populated with the request's response once the request completes
  7427. // successfully.
  7428. //
  7429. // Use "Send" method on the returned Request to send the API call to the service.
  7430. // the "output" return value is not valid until after Send returns without error.
  7431. //
  7432. // See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
  7433. // API call, and error handling.
  7434. //
  7435. // This method is useful when you want to inject custom logic or configuration
  7436. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7437. //
  7438. //
  7439. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  7440. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  7441. //
  7442. // err := req.Send()
  7443. // if err == nil { // resp is now filled
  7444. // fmt.Println(resp)
  7445. // }
  7446. //
  7447. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  7448. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  7449. op := &request.Operation{
  7450. Name: opDeleteNetworkAclEntry,
  7451. HTTPMethod: "POST",
  7452. HTTPPath: "/",
  7453. }
  7454. if input == nil {
  7455. input = &DeleteNetworkAclEntryInput{}
  7456. }
  7457. output = &DeleteNetworkAclEntryOutput{}
  7458. req = c.newRequest(op, input, output)
  7459. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7460. return
  7461. }
  7462. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  7463. //
  7464. // Deletes the specified ingress or egress entry (rule) from the specified network
  7465. // ACL.
  7466. //
  7467. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7468. // with awserr.Error's Code and Message methods to get detailed information about
  7469. // the error.
  7470. //
  7471. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7472. // API operation DeleteNetworkAclEntry for usage and error information.
  7473. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  7474. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  7475. req, out := c.DeleteNetworkAclEntryRequest(input)
  7476. return out, req.Send()
  7477. }
  7478. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  7479. // the ability to pass a context and additional request options.
  7480. //
  7481. // See DeleteNetworkAclEntry for details on how to use this API operation.
  7482. //
  7483. // The context must be non-nil and will be used for request cancellation. If
  7484. // the context is nil a panic will occur. In the future the SDK may create
  7485. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7486. // for more information on using Contexts.
  7487. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  7488. req, out := c.DeleteNetworkAclEntryRequest(input)
  7489. req.SetContext(ctx)
  7490. req.ApplyOptions(opts...)
  7491. return out, req.Send()
  7492. }
  7493. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  7494. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  7495. // client's request for the DeleteNetworkInterface operation. The "output" return
  7496. // value will be populated with the request's response once the request completes
  7497. // successfully.
  7498. //
  7499. // Use "Send" method on the returned Request to send the API call to the service.
  7500. // the "output" return value is not valid until after Send returns without error.
  7501. //
  7502. // See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
  7503. // API call, and error handling.
  7504. //
  7505. // This method is useful when you want to inject custom logic or configuration
  7506. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7507. //
  7508. //
  7509. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  7510. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  7511. //
  7512. // err := req.Send()
  7513. // if err == nil { // resp is now filled
  7514. // fmt.Println(resp)
  7515. // }
  7516. //
  7517. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  7518. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  7519. op := &request.Operation{
  7520. Name: opDeleteNetworkInterface,
  7521. HTTPMethod: "POST",
  7522. HTTPPath: "/",
  7523. }
  7524. if input == nil {
  7525. input = &DeleteNetworkInterfaceInput{}
  7526. }
  7527. output = &DeleteNetworkInterfaceOutput{}
  7528. req = c.newRequest(op, input, output)
  7529. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7530. return
  7531. }
  7532. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  7533. //
  7534. // Deletes the specified network interface. You must detach the network interface
  7535. // before you can delete it.
  7536. //
  7537. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7538. // with awserr.Error's Code and Message methods to get detailed information about
  7539. // the error.
  7540. //
  7541. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7542. // API operation DeleteNetworkInterface for usage and error information.
  7543. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  7544. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  7545. req, out := c.DeleteNetworkInterfaceRequest(input)
  7546. return out, req.Send()
  7547. }
  7548. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  7549. // the ability to pass a context and additional request options.
  7550. //
  7551. // See DeleteNetworkInterface for details on how to use this API operation.
  7552. //
  7553. // The context must be non-nil and will be used for request cancellation. If
  7554. // the context is nil a panic will occur. In the future the SDK may create
  7555. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7556. // for more information on using Contexts.
  7557. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  7558. req, out := c.DeleteNetworkInterfaceRequest(input)
  7559. req.SetContext(ctx)
  7560. req.ApplyOptions(opts...)
  7561. return out, req.Send()
  7562. }
  7563. const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
  7564. // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  7565. // client's request for the DeleteNetworkInterfacePermission operation. The "output" return
  7566. // value will be populated with the request's response once the request completes
  7567. // successfully.
  7568. //
  7569. // Use "Send" method on the returned Request to send the API call to the service.
  7570. // the "output" return value is not valid until after Send returns without error.
  7571. //
  7572. // See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
  7573. // API call, and error handling.
  7574. //
  7575. // This method is useful when you want to inject custom logic or configuration
  7576. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7577. //
  7578. //
  7579. // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
  7580. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
  7581. //
  7582. // err := req.Send()
  7583. // if err == nil { // resp is now filled
  7584. // fmt.Println(resp)
  7585. // }
  7586. //
  7587. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  7588. func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
  7589. op := &request.Operation{
  7590. Name: opDeleteNetworkInterfacePermission,
  7591. HTTPMethod: "POST",
  7592. HTTPPath: "/",
  7593. }
  7594. if input == nil {
  7595. input = &DeleteNetworkInterfacePermissionInput{}
  7596. }
  7597. output = &DeleteNetworkInterfacePermissionOutput{}
  7598. req = c.newRequest(op, input, output)
  7599. return
  7600. }
  7601. // DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  7602. //
  7603. // Deletes a permission for a network interface. By default, you cannot delete
  7604. // the permission if the account for which you're removing the permission has
  7605. // attached the network interface to an instance. However, you can force delete
  7606. // the permission, regardless of any attachment.
  7607. //
  7608. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7609. // with awserr.Error's Code and Message methods to get detailed information about
  7610. // the error.
  7611. //
  7612. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7613. // API operation DeleteNetworkInterfacePermission for usage and error information.
  7614. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  7615. func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
  7616. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  7617. return out, req.Send()
  7618. }
  7619. // DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
  7620. // the ability to pass a context and additional request options.
  7621. //
  7622. // See DeleteNetworkInterfacePermission for details on how to use this API operation.
  7623. //
  7624. // The context must be non-nil and will be used for request cancellation. If
  7625. // the context is nil a panic will occur. In the future the SDK may create
  7626. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7627. // for more information on using Contexts.
  7628. func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
  7629. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  7630. req.SetContext(ctx)
  7631. req.ApplyOptions(opts...)
  7632. return out, req.Send()
  7633. }
  7634. const opDeletePlacementGroup = "DeletePlacementGroup"
  7635. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  7636. // client's request for the DeletePlacementGroup operation. The "output" return
  7637. // value will be populated with the request's response once the request completes
  7638. // successfully.
  7639. //
  7640. // Use "Send" method on the returned Request to send the API call to the service.
  7641. // the "output" return value is not valid until after Send returns without error.
  7642. //
  7643. // See DeletePlacementGroup for more information on using the DeletePlacementGroup
  7644. // API call, and error handling.
  7645. //
  7646. // This method is useful when you want to inject custom logic or configuration
  7647. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7648. //
  7649. //
  7650. // // Example sending a request using the DeletePlacementGroupRequest method.
  7651. // req, resp := client.DeletePlacementGroupRequest(params)
  7652. //
  7653. // err := req.Send()
  7654. // if err == nil { // resp is now filled
  7655. // fmt.Println(resp)
  7656. // }
  7657. //
  7658. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  7659. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  7660. op := &request.Operation{
  7661. Name: opDeletePlacementGroup,
  7662. HTTPMethod: "POST",
  7663. HTTPPath: "/",
  7664. }
  7665. if input == nil {
  7666. input = &DeletePlacementGroupInput{}
  7667. }
  7668. output = &DeletePlacementGroupOutput{}
  7669. req = c.newRequest(op, input, output)
  7670. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7671. return
  7672. }
  7673. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  7674. //
  7675. // Deletes the specified placement group. You must terminate all instances in
  7676. // the placement group before you can delete the placement group. For more information,
  7677. // see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  7678. // in the Amazon Elastic Compute Cloud User Guide.
  7679. //
  7680. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7681. // with awserr.Error's Code and Message methods to get detailed information about
  7682. // the error.
  7683. //
  7684. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7685. // API operation DeletePlacementGroup for usage and error information.
  7686. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  7687. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  7688. req, out := c.DeletePlacementGroupRequest(input)
  7689. return out, req.Send()
  7690. }
  7691. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  7692. // the ability to pass a context and additional request options.
  7693. //
  7694. // See DeletePlacementGroup for details on how to use this API operation.
  7695. //
  7696. // The context must be non-nil and will be used for request cancellation. If
  7697. // the context is nil a panic will occur. In the future the SDK may create
  7698. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7699. // for more information on using Contexts.
  7700. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  7701. req, out := c.DeletePlacementGroupRequest(input)
  7702. req.SetContext(ctx)
  7703. req.ApplyOptions(opts...)
  7704. return out, req.Send()
  7705. }
  7706. const opDeleteRoute = "DeleteRoute"
  7707. // DeleteRouteRequest generates a "aws/request.Request" representing the
  7708. // client's request for the DeleteRoute operation. The "output" return
  7709. // value will be populated with the request's response once the request completes
  7710. // successfully.
  7711. //
  7712. // Use "Send" method on the returned Request to send the API call to the service.
  7713. // the "output" return value is not valid until after Send returns without error.
  7714. //
  7715. // See DeleteRoute for more information on using the DeleteRoute
  7716. // API call, and error handling.
  7717. //
  7718. // This method is useful when you want to inject custom logic or configuration
  7719. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7720. //
  7721. //
  7722. // // Example sending a request using the DeleteRouteRequest method.
  7723. // req, resp := client.DeleteRouteRequest(params)
  7724. //
  7725. // err := req.Send()
  7726. // if err == nil { // resp is now filled
  7727. // fmt.Println(resp)
  7728. // }
  7729. //
  7730. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  7731. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  7732. op := &request.Operation{
  7733. Name: opDeleteRoute,
  7734. HTTPMethod: "POST",
  7735. HTTPPath: "/",
  7736. }
  7737. if input == nil {
  7738. input = &DeleteRouteInput{}
  7739. }
  7740. output = &DeleteRouteOutput{}
  7741. req = c.newRequest(op, input, output)
  7742. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7743. return
  7744. }
  7745. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  7746. //
  7747. // Deletes the specified route from the specified route table.
  7748. //
  7749. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7750. // with awserr.Error's Code and Message methods to get detailed information about
  7751. // the error.
  7752. //
  7753. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7754. // API operation DeleteRoute for usage and error information.
  7755. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  7756. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  7757. req, out := c.DeleteRouteRequest(input)
  7758. return out, req.Send()
  7759. }
  7760. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  7761. // the ability to pass a context and additional request options.
  7762. //
  7763. // See DeleteRoute for details on how to use this API operation.
  7764. //
  7765. // The context must be non-nil and will be used for request cancellation. If
  7766. // the context is nil a panic will occur. In the future the SDK may create
  7767. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7768. // for more information on using Contexts.
  7769. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  7770. req, out := c.DeleteRouteRequest(input)
  7771. req.SetContext(ctx)
  7772. req.ApplyOptions(opts...)
  7773. return out, req.Send()
  7774. }
  7775. const opDeleteRouteTable = "DeleteRouteTable"
  7776. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  7777. // client's request for the DeleteRouteTable operation. The "output" return
  7778. // value will be populated with the request's response once the request completes
  7779. // successfully.
  7780. //
  7781. // Use "Send" method on the returned Request to send the API call to the service.
  7782. // the "output" return value is not valid until after Send returns without error.
  7783. //
  7784. // See DeleteRouteTable for more information on using the DeleteRouteTable
  7785. // API call, and error handling.
  7786. //
  7787. // This method is useful when you want to inject custom logic or configuration
  7788. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7789. //
  7790. //
  7791. // // Example sending a request using the DeleteRouteTableRequest method.
  7792. // req, resp := client.DeleteRouteTableRequest(params)
  7793. //
  7794. // err := req.Send()
  7795. // if err == nil { // resp is now filled
  7796. // fmt.Println(resp)
  7797. // }
  7798. //
  7799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  7800. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  7801. op := &request.Operation{
  7802. Name: opDeleteRouteTable,
  7803. HTTPMethod: "POST",
  7804. HTTPPath: "/",
  7805. }
  7806. if input == nil {
  7807. input = &DeleteRouteTableInput{}
  7808. }
  7809. output = &DeleteRouteTableOutput{}
  7810. req = c.newRequest(op, input, output)
  7811. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7812. return
  7813. }
  7814. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  7815. //
  7816. // Deletes the specified route table. You must disassociate the route table
  7817. // from any subnets before you can delete it. You can't delete the main route
  7818. // table.
  7819. //
  7820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7821. // with awserr.Error's Code and Message methods to get detailed information about
  7822. // the error.
  7823. //
  7824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7825. // API operation DeleteRouteTable for usage and error information.
  7826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  7827. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  7828. req, out := c.DeleteRouteTableRequest(input)
  7829. return out, req.Send()
  7830. }
  7831. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  7832. // the ability to pass a context and additional request options.
  7833. //
  7834. // See DeleteRouteTable for details on how to use this API operation.
  7835. //
  7836. // The context must be non-nil and will be used for request cancellation. If
  7837. // the context is nil a panic will occur. In the future the SDK may create
  7838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7839. // for more information on using Contexts.
  7840. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  7841. req, out := c.DeleteRouteTableRequest(input)
  7842. req.SetContext(ctx)
  7843. req.ApplyOptions(opts...)
  7844. return out, req.Send()
  7845. }
  7846. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  7847. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  7848. // client's request for the DeleteSecurityGroup operation. The "output" return
  7849. // value will be populated with the request's response once the request completes
  7850. // successfully.
  7851. //
  7852. // Use "Send" method on the returned Request to send the API call to the service.
  7853. // the "output" return value is not valid until after Send returns without error.
  7854. //
  7855. // See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
  7856. // API call, and error handling.
  7857. //
  7858. // This method is useful when you want to inject custom logic or configuration
  7859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7860. //
  7861. //
  7862. // // Example sending a request using the DeleteSecurityGroupRequest method.
  7863. // req, resp := client.DeleteSecurityGroupRequest(params)
  7864. //
  7865. // err := req.Send()
  7866. // if err == nil { // resp is now filled
  7867. // fmt.Println(resp)
  7868. // }
  7869. //
  7870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  7871. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  7872. op := &request.Operation{
  7873. Name: opDeleteSecurityGroup,
  7874. HTTPMethod: "POST",
  7875. HTTPPath: "/",
  7876. }
  7877. if input == nil {
  7878. input = &DeleteSecurityGroupInput{}
  7879. }
  7880. output = &DeleteSecurityGroupOutput{}
  7881. req = c.newRequest(op, input, output)
  7882. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7883. return
  7884. }
  7885. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  7886. //
  7887. // Deletes a security group.
  7888. //
  7889. // If you attempt to delete a security group that is associated with an instance,
  7890. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  7891. // in EC2-Classic or DependencyViolation in EC2-VPC.
  7892. //
  7893. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7894. // with awserr.Error's Code and Message methods to get detailed information about
  7895. // the error.
  7896. //
  7897. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7898. // API operation DeleteSecurityGroup for usage and error information.
  7899. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  7900. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  7901. req, out := c.DeleteSecurityGroupRequest(input)
  7902. return out, req.Send()
  7903. }
  7904. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  7905. // the ability to pass a context and additional request options.
  7906. //
  7907. // See DeleteSecurityGroup for details on how to use this API operation.
  7908. //
  7909. // The context must be non-nil and will be used for request cancellation. If
  7910. // the context is nil a panic will occur. In the future the SDK may create
  7911. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7912. // for more information on using Contexts.
  7913. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  7914. req, out := c.DeleteSecurityGroupRequest(input)
  7915. req.SetContext(ctx)
  7916. req.ApplyOptions(opts...)
  7917. return out, req.Send()
  7918. }
  7919. const opDeleteSnapshot = "DeleteSnapshot"
  7920. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  7921. // client's request for the DeleteSnapshot operation. The "output" return
  7922. // value will be populated with the request's response once the request completes
  7923. // successfully.
  7924. //
  7925. // Use "Send" method on the returned Request to send the API call to the service.
  7926. // the "output" return value is not valid until after Send returns without error.
  7927. //
  7928. // See DeleteSnapshot for more information on using the DeleteSnapshot
  7929. // API call, and error handling.
  7930. //
  7931. // This method is useful when you want to inject custom logic or configuration
  7932. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7933. //
  7934. //
  7935. // // Example sending a request using the DeleteSnapshotRequest method.
  7936. // req, resp := client.DeleteSnapshotRequest(params)
  7937. //
  7938. // err := req.Send()
  7939. // if err == nil { // resp is now filled
  7940. // fmt.Println(resp)
  7941. // }
  7942. //
  7943. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  7944. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  7945. op := &request.Operation{
  7946. Name: opDeleteSnapshot,
  7947. HTTPMethod: "POST",
  7948. HTTPPath: "/",
  7949. }
  7950. if input == nil {
  7951. input = &DeleteSnapshotInput{}
  7952. }
  7953. output = &DeleteSnapshotOutput{}
  7954. req = c.newRequest(op, input, output)
  7955. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7956. return
  7957. }
  7958. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  7959. //
  7960. // Deletes the specified snapshot.
  7961. //
  7962. // When you make periodic snapshots of a volume, the snapshots are incremental,
  7963. // and only the blocks on the device that have changed since your last snapshot
  7964. // are saved in the new snapshot. When you delete a snapshot, only the data
  7965. // not needed for any other snapshot is removed. So regardless of which prior
  7966. // snapshots have been deleted, all active snapshots will have access to all
  7967. // the information needed to restore the volume.
  7968. //
  7969. // You cannot delete a snapshot of the root device of an EBS volume used by
  7970. // a registered AMI. You must first de-register the AMI before you can delete
  7971. // the snapshot.
  7972. //
  7973. // For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  7974. // in the Amazon Elastic Compute Cloud User Guide.
  7975. //
  7976. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7977. // with awserr.Error's Code and Message methods to get detailed information about
  7978. // the error.
  7979. //
  7980. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7981. // API operation DeleteSnapshot for usage and error information.
  7982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  7983. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  7984. req, out := c.DeleteSnapshotRequest(input)
  7985. return out, req.Send()
  7986. }
  7987. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  7988. // the ability to pass a context and additional request options.
  7989. //
  7990. // See DeleteSnapshot for details on how to use this API operation.
  7991. //
  7992. // The context must be non-nil and will be used for request cancellation. If
  7993. // the context is nil a panic will occur. In the future the SDK may create
  7994. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7995. // for more information on using Contexts.
  7996. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  7997. req, out := c.DeleteSnapshotRequest(input)
  7998. req.SetContext(ctx)
  7999. req.ApplyOptions(opts...)
  8000. return out, req.Send()
  8001. }
  8002. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  8003. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  8004. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  8005. // value will be populated with the request's response once the request completes
  8006. // successfully.
  8007. //
  8008. // Use "Send" method on the returned Request to send the API call to the service.
  8009. // the "output" return value is not valid until after Send returns without error.
  8010. //
  8011. // See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
  8012. // API call, and error handling.
  8013. //
  8014. // This method is useful when you want to inject custom logic or configuration
  8015. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8016. //
  8017. //
  8018. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  8019. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  8020. //
  8021. // err := req.Send()
  8022. // if err == nil { // resp is now filled
  8023. // fmt.Println(resp)
  8024. // }
  8025. //
  8026. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  8027. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  8028. op := &request.Operation{
  8029. Name: opDeleteSpotDatafeedSubscription,
  8030. HTTPMethod: "POST",
  8031. HTTPPath: "/",
  8032. }
  8033. if input == nil {
  8034. input = &DeleteSpotDatafeedSubscriptionInput{}
  8035. }
  8036. output = &DeleteSpotDatafeedSubscriptionOutput{}
  8037. req = c.newRequest(op, input, output)
  8038. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8039. return
  8040. }
  8041. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  8042. //
  8043. // Deletes the data feed for Spot Instances.
  8044. //
  8045. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8046. // with awserr.Error's Code and Message methods to get detailed information about
  8047. // the error.
  8048. //
  8049. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8050. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  8051. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  8052. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  8053. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  8054. return out, req.Send()
  8055. }
  8056. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  8057. // the ability to pass a context and additional request options.
  8058. //
  8059. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  8060. //
  8061. // The context must be non-nil and will be used for request cancellation. If
  8062. // the context is nil a panic will occur. In the future the SDK may create
  8063. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8064. // for more information on using Contexts.
  8065. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  8066. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  8067. req.SetContext(ctx)
  8068. req.ApplyOptions(opts...)
  8069. return out, req.Send()
  8070. }
  8071. const opDeleteSubnet = "DeleteSubnet"
  8072. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  8073. // client's request for the DeleteSubnet operation. The "output" return
  8074. // value will be populated with the request's response once the request completes
  8075. // successfully.
  8076. //
  8077. // Use "Send" method on the returned Request to send the API call to the service.
  8078. // the "output" return value is not valid until after Send returns without error.
  8079. //
  8080. // See DeleteSubnet for more information on using the DeleteSubnet
  8081. // API call, and error handling.
  8082. //
  8083. // This method is useful when you want to inject custom logic or configuration
  8084. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8085. //
  8086. //
  8087. // // Example sending a request using the DeleteSubnetRequest method.
  8088. // req, resp := client.DeleteSubnetRequest(params)
  8089. //
  8090. // err := req.Send()
  8091. // if err == nil { // resp is now filled
  8092. // fmt.Println(resp)
  8093. // }
  8094. //
  8095. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  8096. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  8097. op := &request.Operation{
  8098. Name: opDeleteSubnet,
  8099. HTTPMethod: "POST",
  8100. HTTPPath: "/",
  8101. }
  8102. if input == nil {
  8103. input = &DeleteSubnetInput{}
  8104. }
  8105. output = &DeleteSubnetOutput{}
  8106. req = c.newRequest(op, input, output)
  8107. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8108. return
  8109. }
  8110. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  8111. //
  8112. // Deletes the specified subnet. You must terminate all running instances in
  8113. // the subnet before you can delete the subnet.
  8114. //
  8115. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8116. // with awserr.Error's Code and Message methods to get detailed information about
  8117. // the error.
  8118. //
  8119. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8120. // API operation DeleteSubnet for usage and error information.
  8121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  8122. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  8123. req, out := c.DeleteSubnetRequest(input)
  8124. return out, req.Send()
  8125. }
  8126. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  8127. // the ability to pass a context and additional request options.
  8128. //
  8129. // See DeleteSubnet for details on how to use this API operation.
  8130. //
  8131. // The context must be non-nil and will be used for request cancellation. If
  8132. // the context is nil a panic will occur. In the future the SDK may create
  8133. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8134. // for more information on using Contexts.
  8135. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  8136. req, out := c.DeleteSubnetRequest(input)
  8137. req.SetContext(ctx)
  8138. req.ApplyOptions(opts...)
  8139. return out, req.Send()
  8140. }
  8141. const opDeleteTags = "DeleteTags"
  8142. // DeleteTagsRequest generates a "aws/request.Request" representing the
  8143. // client's request for the DeleteTags operation. The "output" return
  8144. // value will be populated with the request's response once the request completes
  8145. // successfully.
  8146. //
  8147. // Use "Send" method on the returned Request to send the API call to the service.
  8148. // the "output" return value is not valid until after Send returns without error.
  8149. //
  8150. // See DeleteTags for more information on using the DeleteTags
  8151. // API call, and error handling.
  8152. //
  8153. // This method is useful when you want to inject custom logic or configuration
  8154. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8155. //
  8156. //
  8157. // // Example sending a request using the DeleteTagsRequest method.
  8158. // req, resp := client.DeleteTagsRequest(params)
  8159. //
  8160. // err := req.Send()
  8161. // if err == nil { // resp is now filled
  8162. // fmt.Println(resp)
  8163. // }
  8164. //
  8165. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  8166. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  8167. op := &request.Operation{
  8168. Name: opDeleteTags,
  8169. HTTPMethod: "POST",
  8170. HTTPPath: "/",
  8171. }
  8172. if input == nil {
  8173. input = &DeleteTagsInput{}
  8174. }
  8175. output = &DeleteTagsOutput{}
  8176. req = c.newRequest(op, input, output)
  8177. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8178. return
  8179. }
  8180. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  8181. //
  8182. // Deletes the specified set of tags from the specified set of resources.
  8183. //
  8184. // To list the current tags, use DescribeTags. For more information about tags,
  8185. // see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  8186. // in the Amazon Elastic Compute Cloud User Guide.
  8187. //
  8188. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8189. // with awserr.Error's Code and Message methods to get detailed information about
  8190. // the error.
  8191. //
  8192. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8193. // API operation DeleteTags for usage and error information.
  8194. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  8195. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  8196. req, out := c.DeleteTagsRequest(input)
  8197. return out, req.Send()
  8198. }
  8199. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  8200. // the ability to pass a context and additional request options.
  8201. //
  8202. // See DeleteTags for details on how to use this API operation.
  8203. //
  8204. // The context must be non-nil and will be used for request cancellation. If
  8205. // the context is nil a panic will occur. In the future the SDK may create
  8206. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8207. // for more information on using Contexts.
  8208. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  8209. req, out := c.DeleteTagsRequest(input)
  8210. req.SetContext(ctx)
  8211. req.ApplyOptions(opts...)
  8212. return out, req.Send()
  8213. }
  8214. const opDeleteTransitGateway = "DeleteTransitGateway"
  8215. // DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
  8216. // client's request for the DeleteTransitGateway operation. The "output" return
  8217. // value will be populated with the request's response once the request completes
  8218. // successfully.
  8219. //
  8220. // Use "Send" method on the returned Request to send the API call to the service.
  8221. // the "output" return value is not valid until after Send returns without error.
  8222. //
  8223. // See DeleteTransitGateway for more information on using the DeleteTransitGateway
  8224. // API call, and error handling.
  8225. //
  8226. // This method is useful when you want to inject custom logic or configuration
  8227. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8228. //
  8229. //
  8230. // // Example sending a request using the DeleteTransitGatewayRequest method.
  8231. // req, resp := client.DeleteTransitGatewayRequest(params)
  8232. //
  8233. // err := req.Send()
  8234. // if err == nil { // resp is now filled
  8235. // fmt.Println(resp)
  8236. // }
  8237. //
  8238. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
  8239. func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
  8240. op := &request.Operation{
  8241. Name: opDeleteTransitGateway,
  8242. HTTPMethod: "POST",
  8243. HTTPPath: "/",
  8244. }
  8245. if input == nil {
  8246. input = &DeleteTransitGatewayInput{}
  8247. }
  8248. output = &DeleteTransitGatewayOutput{}
  8249. req = c.newRequest(op, input, output)
  8250. return
  8251. }
  8252. // DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
  8253. //
  8254. // Deletes the specified transit gateway.
  8255. //
  8256. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8257. // with awserr.Error's Code and Message methods to get detailed information about
  8258. // the error.
  8259. //
  8260. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8261. // API operation DeleteTransitGateway for usage and error information.
  8262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
  8263. func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
  8264. req, out := c.DeleteTransitGatewayRequest(input)
  8265. return out, req.Send()
  8266. }
  8267. // DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
  8268. // the ability to pass a context and additional request options.
  8269. //
  8270. // See DeleteTransitGateway for details on how to use this API operation.
  8271. //
  8272. // The context must be non-nil and will be used for request cancellation. If
  8273. // the context is nil a panic will occur. In the future the SDK may create
  8274. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8275. // for more information on using Contexts.
  8276. func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
  8277. req, out := c.DeleteTransitGatewayRequest(input)
  8278. req.SetContext(ctx)
  8279. req.ApplyOptions(opts...)
  8280. return out, req.Send()
  8281. }
  8282. const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
  8283. // DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  8284. // client's request for the DeleteTransitGatewayRoute operation. The "output" return
  8285. // value will be populated with the request's response once the request completes
  8286. // successfully.
  8287. //
  8288. // Use "Send" method on the returned Request to send the API call to the service.
  8289. // the "output" return value is not valid until after Send returns without error.
  8290. //
  8291. // See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
  8292. // API call, and error handling.
  8293. //
  8294. // This method is useful when you want to inject custom logic or configuration
  8295. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8296. //
  8297. //
  8298. // // Example sending a request using the DeleteTransitGatewayRouteRequest method.
  8299. // req, resp := client.DeleteTransitGatewayRouteRequest(params)
  8300. //
  8301. // err := req.Send()
  8302. // if err == nil { // resp is now filled
  8303. // fmt.Println(resp)
  8304. // }
  8305. //
  8306. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
  8307. func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
  8308. op := &request.Operation{
  8309. Name: opDeleteTransitGatewayRoute,
  8310. HTTPMethod: "POST",
  8311. HTTPPath: "/",
  8312. }
  8313. if input == nil {
  8314. input = &DeleteTransitGatewayRouteInput{}
  8315. }
  8316. output = &DeleteTransitGatewayRouteOutput{}
  8317. req = c.newRequest(op, input, output)
  8318. return
  8319. }
  8320. // DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  8321. //
  8322. // Deletes the specified route from the specified transit gateway route table.
  8323. //
  8324. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8325. // with awserr.Error's Code and Message methods to get detailed information about
  8326. // the error.
  8327. //
  8328. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8329. // API operation DeleteTransitGatewayRoute for usage and error information.
  8330. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
  8331. func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
  8332. req, out := c.DeleteTransitGatewayRouteRequest(input)
  8333. return out, req.Send()
  8334. }
  8335. // DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
  8336. // the ability to pass a context and additional request options.
  8337. //
  8338. // See DeleteTransitGatewayRoute for details on how to use this API operation.
  8339. //
  8340. // The context must be non-nil and will be used for request cancellation. If
  8341. // the context is nil a panic will occur. In the future the SDK may create
  8342. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8343. // for more information on using Contexts.
  8344. func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
  8345. req, out := c.DeleteTransitGatewayRouteRequest(input)
  8346. req.SetContext(ctx)
  8347. req.ApplyOptions(opts...)
  8348. return out, req.Send()
  8349. }
  8350. const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
  8351. // DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  8352. // client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
  8353. // value will be populated with the request's response once the request completes
  8354. // successfully.
  8355. //
  8356. // Use "Send" method on the returned Request to send the API call to the service.
  8357. // the "output" return value is not valid until after Send returns without error.
  8358. //
  8359. // See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
  8360. // API call, and error handling.
  8361. //
  8362. // This method is useful when you want to inject custom logic or configuration
  8363. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8364. //
  8365. //
  8366. // // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
  8367. // req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
  8368. //
  8369. // err := req.Send()
  8370. // if err == nil { // resp is now filled
  8371. // fmt.Println(resp)
  8372. // }
  8373. //
  8374. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
  8375. func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
  8376. op := &request.Operation{
  8377. Name: opDeleteTransitGatewayRouteTable,
  8378. HTTPMethod: "POST",
  8379. HTTPPath: "/",
  8380. }
  8381. if input == nil {
  8382. input = &DeleteTransitGatewayRouteTableInput{}
  8383. }
  8384. output = &DeleteTransitGatewayRouteTableOutput{}
  8385. req = c.newRequest(op, input, output)
  8386. return
  8387. }
  8388. // DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  8389. //
  8390. // Deletes the specified transit gateway route table. You must disassociate
  8391. // the route table from any transit gateway route tables before you can delete
  8392. // it.
  8393. //
  8394. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8395. // with awserr.Error's Code and Message methods to get detailed information about
  8396. // the error.
  8397. //
  8398. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8399. // API operation DeleteTransitGatewayRouteTable for usage and error information.
  8400. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
  8401. func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
  8402. req, out := c.DeleteTransitGatewayRouteTableRequest(input)
  8403. return out, req.Send()
  8404. }
  8405. // DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
  8406. // the ability to pass a context and additional request options.
  8407. //
  8408. // See DeleteTransitGatewayRouteTable for details on how to use this API operation.
  8409. //
  8410. // The context must be non-nil and will be used for request cancellation. If
  8411. // the context is nil a panic will occur. In the future the SDK may create
  8412. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8413. // for more information on using Contexts.
  8414. func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
  8415. req, out := c.DeleteTransitGatewayRouteTableRequest(input)
  8416. req.SetContext(ctx)
  8417. req.ApplyOptions(opts...)
  8418. return out, req.Send()
  8419. }
  8420. const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
  8421. // DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  8422. // client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
  8423. // value will be populated with the request's response once the request completes
  8424. // successfully.
  8425. //
  8426. // Use "Send" method on the returned Request to send the API call to the service.
  8427. // the "output" return value is not valid until after Send returns without error.
  8428. //
  8429. // See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
  8430. // API call, and error handling.
  8431. //
  8432. // This method is useful when you want to inject custom logic or configuration
  8433. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8434. //
  8435. //
  8436. // // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
  8437. // req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
  8438. //
  8439. // err := req.Send()
  8440. // if err == nil { // resp is now filled
  8441. // fmt.Println(resp)
  8442. // }
  8443. //
  8444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
  8445. func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
  8446. op := &request.Operation{
  8447. Name: opDeleteTransitGatewayVpcAttachment,
  8448. HTTPMethod: "POST",
  8449. HTTPPath: "/",
  8450. }
  8451. if input == nil {
  8452. input = &DeleteTransitGatewayVpcAttachmentInput{}
  8453. }
  8454. output = &DeleteTransitGatewayVpcAttachmentOutput{}
  8455. req = c.newRequest(op, input, output)
  8456. return
  8457. }
  8458. // DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  8459. //
  8460. // Deletes the specified VPC attachment.
  8461. //
  8462. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8463. // with awserr.Error's Code and Message methods to get detailed information about
  8464. // the error.
  8465. //
  8466. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8467. // API operation DeleteTransitGatewayVpcAttachment for usage and error information.
  8468. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
  8469. func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
  8470. req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
  8471. return out, req.Send()
  8472. }
  8473. // DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
  8474. // the ability to pass a context and additional request options.
  8475. //
  8476. // See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
  8477. //
  8478. // The context must be non-nil and will be used for request cancellation. If
  8479. // the context is nil a panic will occur. In the future the SDK may create
  8480. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8481. // for more information on using Contexts.
  8482. func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
  8483. req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
  8484. req.SetContext(ctx)
  8485. req.ApplyOptions(opts...)
  8486. return out, req.Send()
  8487. }
  8488. const opDeleteVolume = "DeleteVolume"
  8489. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  8490. // client's request for the DeleteVolume operation. The "output" return
  8491. // value will be populated with the request's response once the request completes
  8492. // successfully.
  8493. //
  8494. // Use "Send" method on the returned Request to send the API call to the service.
  8495. // the "output" return value is not valid until after Send returns without error.
  8496. //
  8497. // See DeleteVolume for more information on using the DeleteVolume
  8498. // API call, and error handling.
  8499. //
  8500. // This method is useful when you want to inject custom logic or configuration
  8501. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8502. //
  8503. //
  8504. // // Example sending a request using the DeleteVolumeRequest method.
  8505. // req, resp := client.DeleteVolumeRequest(params)
  8506. //
  8507. // err := req.Send()
  8508. // if err == nil { // resp is now filled
  8509. // fmt.Println(resp)
  8510. // }
  8511. //
  8512. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  8513. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  8514. op := &request.Operation{
  8515. Name: opDeleteVolume,
  8516. HTTPMethod: "POST",
  8517. HTTPPath: "/",
  8518. }
  8519. if input == nil {
  8520. input = &DeleteVolumeInput{}
  8521. }
  8522. output = &DeleteVolumeOutput{}
  8523. req = c.newRequest(op, input, output)
  8524. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8525. return
  8526. }
  8527. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  8528. //
  8529. // Deletes the specified EBS volume. The volume must be in the available state
  8530. // (not attached to an instance).
  8531. //
  8532. // The volume can remain in the deleting state for several minutes.
  8533. //
  8534. // For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  8535. // in the Amazon Elastic Compute Cloud User Guide.
  8536. //
  8537. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8538. // with awserr.Error's Code and Message methods to get detailed information about
  8539. // the error.
  8540. //
  8541. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8542. // API operation DeleteVolume for usage and error information.
  8543. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  8544. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  8545. req, out := c.DeleteVolumeRequest(input)
  8546. return out, req.Send()
  8547. }
  8548. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  8549. // the ability to pass a context and additional request options.
  8550. //
  8551. // See DeleteVolume for details on how to use this API operation.
  8552. //
  8553. // The context must be non-nil and will be used for request cancellation. If
  8554. // the context is nil a panic will occur. In the future the SDK may create
  8555. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8556. // for more information on using Contexts.
  8557. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  8558. req, out := c.DeleteVolumeRequest(input)
  8559. req.SetContext(ctx)
  8560. req.ApplyOptions(opts...)
  8561. return out, req.Send()
  8562. }
  8563. const opDeleteVpc = "DeleteVpc"
  8564. // DeleteVpcRequest generates a "aws/request.Request" representing the
  8565. // client's request for the DeleteVpc operation. The "output" return
  8566. // value will be populated with the request's response once the request completes
  8567. // successfully.
  8568. //
  8569. // Use "Send" method on the returned Request to send the API call to the service.
  8570. // the "output" return value is not valid until after Send returns without error.
  8571. //
  8572. // See DeleteVpc for more information on using the DeleteVpc
  8573. // API call, and error handling.
  8574. //
  8575. // This method is useful when you want to inject custom logic or configuration
  8576. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8577. //
  8578. //
  8579. // // Example sending a request using the DeleteVpcRequest method.
  8580. // req, resp := client.DeleteVpcRequest(params)
  8581. //
  8582. // err := req.Send()
  8583. // if err == nil { // resp is now filled
  8584. // fmt.Println(resp)
  8585. // }
  8586. //
  8587. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  8588. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  8589. op := &request.Operation{
  8590. Name: opDeleteVpc,
  8591. HTTPMethod: "POST",
  8592. HTTPPath: "/",
  8593. }
  8594. if input == nil {
  8595. input = &DeleteVpcInput{}
  8596. }
  8597. output = &DeleteVpcOutput{}
  8598. req = c.newRequest(op, input, output)
  8599. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8600. return
  8601. }
  8602. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  8603. //
  8604. // Deletes the specified VPC. You must detach or delete all gateways and resources
  8605. // that are associated with the VPC before you can delete it. For example, you
  8606. // must terminate all instances running in the VPC, delete all security groups
  8607. // associated with the VPC (except the default one), delete all route tables
  8608. // associated with the VPC (except the default one), and so on.
  8609. //
  8610. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8611. // with awserr.Error's Code and Message methods to get detailed information about
  8612. // the error.
  8613. //
  8614. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8615. // API operation DeleteVpc for usage and error information.
  8616. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  8617. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  8618. req, out := c.DeleteVpcRequest(input)
  8619. return out, req.Send()
  8620. }
  8621. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  8622. // the ability to pass a context and additional request options.
  8623. //
  8624. // See DeleteVpc for details on how to use this API operation.
  8625. //
  8626. // The context must be non-nil and will be used for request cancellation. If
  8627. // the context is nil a panic will occur. In the future the SDK may create
  8628. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8629. // for more information on using Contexts.
  8630. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  8631. req, out := c.DeleteVpcRequest(input)
  8632. req.SetContext(ctx)
  8633. req.ApplyOptions(opts...)
  8634. return out, req.Send()
  8635. }
  8636. const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
  8637. // DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  8638. // client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
  8639. // value will be populated with the request's response once the request completes
  8640. // successfully.
  8641. //
  8642. // Use "Send" method on the returned Request to send the API call to the service.
  8643. // the "output" return value is not valid until after Send returns without error.
  8644. //
  8645. // See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
  8646. // API call, and error handling.
  8647. //
  8648. // This method is useful when you want to inject custom logic or configuration
  8649. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8650. //
  8651. //
  8652. // // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
  8653. // req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
  8654. //
  8655. // err := req.Send()
  8656. // if err == nil { // resp is now filled
  8657. // fmt.Println(resp)
  8658. // }
  8659. //
  8660. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  8661. func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
  8662. op := &request.Operation{
  8663. Name: opDeleteVpcEndpointConnectionNotifications,
  8664. HTTPMethod: "POST",
  8665. HTTPPath: "/",
  8666. }
  8667. if input == nil {
  8668. input = &DeleteVpcEndpointConnectionNotificationsInput{}
  8669. }
  8670. output = &DeleteVpcEndpointConnectionNotificationsOutput{}
  8671. req = c.newRequest(op, input, output)
  8672. return
  8673. }
  8674. // DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  8675. //
  8676. // Deletes one or more VPC endpoint connection notifications.
  8677. //
  8678. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8679. // with awserr.Error's Code and Message methods to get detailed information about
  8680. // the error.
  8681. //
  8682. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8683. // API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
  8684. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
  8685. func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  8686. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  8687. return out, req.Send()
  8688. }
  8689. // DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
  8690. // the ability to pass a context and additional request options.
  8691. //
  8692. // See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
  8693. //
  8694. // The context must be non-nil and will be used for request cancellation. If
  8695. // the context is nil a panic will occur. In the future the SDK may create
  8696. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8697. // for more information on using Contexts.
  8698. func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
  8699. req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
  8700. req.SetContext(ctx)
  8701. req.ApplyOptions(opts...)
  8702. return out, req.Send()
  8703. }
  8704. const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
  8705. // DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  8706. // client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
  8707. // value will be populated with the request's response once the request completes
  8708. // successfully.
  8709. //
  8710. // Use "Send" method on the returned Request to send the API call to the service.
  8711. // the "output" return value is not valid until after Send returns without error.
  8712. //
  8713. // See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
  8714. // API call, and error handling.
  8715. //
  8716. // This method is useful when you want to inject custom logic or configuration
  8717. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8718. //
  8719. //
  8720. // // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
  8721. // req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
  8722. //
  8723. // err := req.Send()
  8724. // if err == nil { // resp is now filled
  8725. // fmt.Println(resp)
  8726. // }
  8727. //
  8728. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  8729. func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
  8730. op := &request.Operation{
  8731. Name: opDeleteVpcEndpointServiceConfigurations,
  8732. HTTPMethod: "POST",
  8733. HTTPPath: "/",
  8734. }
  8735. if input == nil {
  8736. input = &DeleteVpcEndpointServiceConfigurationsInput{}
  8737. }
  8738. output = &DeleteVpcEndpointServiceConfigurationsOutput{}
  8739. req = c.newRequest(op, input, output)
  8740. return
  8741. }
  8742. // DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  8743. //
  8744. // Deletes one or more VPC endpoint service configurations in your account.
  8745. // Before you delete the endpoint service configuration, you must reject any
  8746. // Available or PendingAcceptance interface endpoint connections that are attached
  8747. // to the service.
  8748. //
  8749. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8750. // with awserr.Error's Code and Message methods to get detailed information about
  8751. // the error.
  8752. //
  8753. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8754. // API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
  8755. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
  8756. func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  8757. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  8758. return out, req.Send()
  8759. }
  8760. // DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
  8761. // the ability to pass a context and additional request options.
  8762. //
  8763. // See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
  8764. //
  8765. // The context must be non-nil and will be used for request cancellation. If
  8766. // the context is nil a panic will occur. In the future the SDK may create
  8767. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8768. // for more information on using Contexts.
  8769. func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
  8770. req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
  8771. req.SetContext(ctx)
  8772. req.ApplyOptions(opts...)
  8773. return out, req.Send()
  8774. }
  8775. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  8776. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  8777. // client's request for the DeleteVpcEndpoints operation. The "output" return
  8778. // value will be populated with the request's response once the request completes
  8779. // successfully.
  8780. //
  8781. // Use "Send" method on the returned Request to send the API call to the service.
  8782. // the "output" return value is not valid until after Send returns without error.
  8783. //
  8784. // See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
  8785. // API call, and error handling.
  8786. //
  8787. // This method is useful when you want to inject custom logic or configuration
  8788. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8789. //
  8790. //
  8791. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  8792. // req, resp := client.DeleteVpcEndpointsRequest(params)
  8793. //
  8794. // err := req.Send()
  8795. // if err == nil { // resp is now filled
  8796. // fmt.Println(resp)
  8797. // }
  8798. //
  8799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  8800. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  8801. op := &request.Operation{
  8802. Name: opDeleteVpcEndpoints,
  8803. HTTPMethod: "POST",
  8804. HTTPPath: "/",
  8805. }
  8806. if input == nil {
  8807. input = &DeleteVpcEndpointsInput{}
  8808. }
  8809. output = &DeleteVpcEndpointsOutput{}
  8810. req = c.newRequest(op, input, output)
  8811. return
  8812. }
  8813. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  8814. //
  8815. // Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
  8816. // also deletes the endpoint routes in the route tables that were associated
  8817. // with the endpoint. Deleting an interface endpoint deletes the endpoint network
  8818. // interfaces.
  8819. //
  8820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8821. // with awserr.Error's Code and Message methods to get detailed information about
  8822. // the error.
  8823. //
  8824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8825. // API operation DeleteVpcEndpoints for usage and error information.
  8826. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  8827. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  8828. req, out := c.DeleteVpcEndpointsRequest(input)
  8829. return out, req.Send()
  8830. }
  8831. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  8832. // the ability to pass a context and additional request options.
  8833. //
  8834. // See DeleteVpcEndpoints for details on how to use this API operation.
  8835. //
  8836. // The context must be non-nil and will be used for request cancellation. If
  8837. // the context is nil a panic will occur. In the future the SDK may create
  8838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8839. // for more information on using Contexts.
  8840. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  8841. req, out := c.DeleteVpcEndpointsRequest(input)
  8842. req.SetContext(ctx)
  8843. req.ApplyOptions(opts...)
  8844. return out, req.Send()
  8845. }
  8846. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  8847. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  8848. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  8849. // value will be populated with the request's response once the request completes
  8850. // successfully.
  8851. //
  8852. // Use "Send" method on the returned Request to send the API call to the service.
  8853. // the "output" return value is not valid until after Send returns without error.
  8854. //
  8855. // See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
  8856. // API call, and error handling.
  8857. //
  8858. // This method is useful when you want to inject custom logic or configuration
  8859. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8860. //
  8861. //
  8862. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  8863. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  8864. //
  8865. // err := req.Send()
  8866. // if err == nil { // resp is now filled
  8867. // fmt.Println(resp)
  8868. // }
  8869. //
  8870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  8871. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  8872. op := &request.Operation{
  8873. Name: opDeleteVpcPeeringConnection,
  8874. HTTPMethod: "POST",
  8875. HTTPPath: "/",
  8876. }
  8877. if input == nil {
  8878. input = &DeleteVpcPeeringConnectionInput{}
  8879. }
  8880. output = &DeleteVpcPeeringConnectionOutput{}
  8881. req = c.newRequest(op, input, output)
  8882. return
  8883. }
  8884. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  8885. //
  8886. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  8887. // the owner of the accepter VPC can delete the VPC peering connection if it's
  8888. // in the active state. The owner of the requester VPC can delete a VPC peering
  8889. // connection in the pending-acceptance state. You cannot delete a VPC peering
  8890. // connection that's in the failed state.
  8891. //
  8892. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8893. // with awserr.Error's Code and Message methods to get detailed information about
  8894. // the error.
  8895. //
  8896. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8897. // API operation DeleteVpcPeeringConnection for usage and error information.
  8898. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  8899. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  8900. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  8901. return out, req.Send()
  8902. }
  8903. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  8904. // the ability to pass a context and additional request options.
  8905. //
  8906. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  8907. //
  8908. // The context must be non-nil and will be used for request cancellation. If
  8909. // the context is nil a panic will occur. In the future the SDK may create
  8910. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8911. // for more information on using Contexts.
  8912. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  8913. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  8914. req.SetContext(ctx)
  8915. req.ApplyOptions(opts...)
  8916. return out, req.Send()
  8917. }
  8918. const opDeleteVpnConnection = "DeleteVpnConnection"
  8919. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  8920. // client's request for the DeleteVpnConnection operation. The "output" return
  8921. // value will be populated with the request's response once the request completes
  8922. // successfully.
  8923. //
  8924. // Use "Send" method on the returned Request to send the API call to the service.
  8925. // the "output" return value is not valid until after Send returns without error.
  8926. //
  8927. // See DeleteVpnConnection for more information on using the DeleteVpnConnection
  8928. // API call, and error handling.
  8929. //
  8930. // This method is useful when you want to inject custom logic or configuration
  8931. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8932. //
  8933. //
  8934. // // Example sending a request using the DeleteVpnConnectionRequest method.
  8935. // req, resp := client.DeleteVpnConnectionRequest(params)
  8936. //
  8937. // err := req.Send()
  8938. // if err == nil { // resp is now filled
  8939. // fmt.Println(resp)
  8940. // }
  8941. //
  8942. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  8943. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  8944. op := &request.Operation{
  8945. Name: opDeleteVpnConnection,
  8946. HTTPMethod: "POST",
  8947. HTTPPath: "/",
  8948. }
  8949. if input == nil {
  8950. input = &DeleteVpnConnectionInput{}
  8951. }
  8952. output = &DeleteVpnConnectionOutput{}
  8953. req = c.newRequest(op, input, output)
  8954. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8955. return
  8956. }
  8957. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  8958. //
  8959. // Deletes the specified VPN connection.
  8960. //
  8961. // If you're deleting the VPC and its associated components, we recommend that
  8962. // you detach the virtual private gateway from the VPC and delete the VPC before
  8963. // deleting the VPN connection. If you believe that the tunnel credentials for
  8964. // your VPN connection have been compromised, you can delete the VPN connection
  8965. // and create a new one that has new keys, without needing to delete the VPC
  8966. // or virtual private gateway. If you create a new VPN connection, you must
  8967. // reconfigure the customer gateway using the new configuration information
  8968. // returned with the new VPN connection ID.
  8969. //
  8970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8971. // with awserr.Error's Code and Message methods to get detailed information about
  8972. // the error.
  8973. //
  8974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8975. // API operation DeleteVpnConnection for usage and error information.
  8976. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  8977. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  8978. req, out := c.DeleteVpnConnectionRequest(input)
  8979. return out, req.Send()
  8980. }
  8981. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  8982. // the ability to pass a context and additional request options.
  8983. //
  8984. // See DeleteVpnConnection for details on how to use this API operation.
  8985. //
  8986. // The context must be non-nil and will be used for request cancellation. If
  8987. // the context is nil a panic will occur. In the future the SDK may create
  8988. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8989. // for more information on using Contexts.
  8990. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  8991. req, out := c.DeleteVpnConnectionRequest(input)
  8992. req.SetContext(ctx)
  8993. req.ApplyOptions(opts...)
  8994. return out, req.Send()
  8995. }
  8996. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  8997. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  8998. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  8999. // value will be populated with the request's response once the request completes
  9000. // successfully.
  9001. //
  9002. // Use "Send" method on the returned Request to send the API call to the service.
  9003. // the "output" return value is not valid until after Send returns without error.
  9004. //
  9005. // See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
  9006. // API call, and error handling.
  9007. //
  9008. // This method is useful when you want to inject custom logic or configuration
  9009. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9010. //
  9011. //
  9012. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  9013. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  9014. //
  9015. // err := req.Send()
  9016. // if err == nil { // resp is now filled
  9017. // fmt.Println(resp)
  9018. // }
  9019. //
  9020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  9021. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  9022. op := &request.Operation{
  9023. Name: opDeleteVpnConnectionRoute,
  9024. HTTPMethod: "POST",
  9025. HTTPPath: "/",
  9026. }
  9027. if input == nil {
  9028. input = &DeleteVpnConnectionRouteInput{}
  9029. }
  9030. output = &DeleteVpnConnectionRouteOutput{}
  9031. req = c.newRequest(op, input, output)
  9032. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9033. return
  9034. }
  9035. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  9036. //
  9037. // Deletes the specified static route associated with a VPN connection between
  9038. // an existing virtual private gateway and a VPN customer gateway. The static
  9039. // route allows traffic to be routed from the virtual private gateway to the
  9040. // VPN customer gateway.
  9041. //
  9042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9043. // with awserr.Error's Code and Message methods to get detailed information about
  9044. // the error.
  9045. //
  9046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9047. // API operation DeleteVpnConnectionRoute for usage and error information.
  9048. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  9049. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  9050. req, out := c.DeleteVpnConnectionRouteRequest(input)
  9051. return out, req.Send()
  9052. }
  9053. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  9054. // the ability to pass a context and additional request options.
  9055. //
  9056. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  9057. //
  9058. // The context must be non-nil and will be used for request cancellation. If
  9059. // the context is nil a panic will occur. In the future the SDK may create
  9060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9061. // for more information on using Contexts.
  9062. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  9063. req, out := c.DeleteVpnConnectionRouteRequest(input)
  9064. req.SetContext(ctx)
  9065. req.ApplyOptions(opts...)
  9066. return out, req.Send()
  9067. }
  9068. const opDeleteVpnGateway = "DeleteVpnGateway"
  9069. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  9070. // client's request for the DeleteVpnGateway operation. The "output" return
  9071. // value will be populated with the request's response once the request completes
  9072. // successfully.
  9073. //
  9074. // Use "Send" method on the returned Request to send the API call to the service.
  9075. // the "output" return value is not valid until after Send returns without error.
  9076. //
  9077. // See DeleteVpnGateway for more information on using the DeleteVpnGateway
  9078. // API call, and error handling.
  9079. //
  9080. // This method is useful when you want to inject custom logic or configuration
  9081. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9082. //
  9083. //
  9084. // // Example sending a request using the DeleteVpnGatewayRequest method.
  9085. // req, resp := client.DeleteVpnGatewayRequest(params)
  9086. //
  9087. // err := req.Send()
  9088. // if err == nil { // resp is now filled
  9089. // fmt.Println(resp)
  9090. // }
  9091. //
  9092. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  9093. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  9094. op := &request.Operation{
  9095. Name: opDeleteVpnGateway,
  9096. HTTPMethod: "POST",
  9097. HTTPPath: "/",
  9098. }
  9099. if input == nil {
  9100. input = &DeleteVpnGatewayInput{}
  9101. }
  9102. output = &DeleteVpnGatewayOutput{}
  9103. req = c.newRequest(op, input, output)
  9104. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9105. return
  9106. }
  9107. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  9108. //
  9109. // Deletes the specified virtual private gateway. We recommend that before you
  9110. // delete a virtual private gateway, you detach it from the VPC and delete the
  9111. // VPN connection. Note that you don't need to delete the virtual private gateway
  9112. // if you plan to delete and recreate the VPN connection between your VPC and
  9113. // your network.
  9114. //
  9115. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9116. // with awserr.Error's Code and Message methods to get detailed information about
  9117. // the error.
  9118. //
  9119. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9120. // API operation DeleteVpnGateway for usage and error information.
  9121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  9122. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  9123. req, out := c.DeleteVpnGatewayRequest(input)
  9124. return out, req.Send()
  9125. }
  9126. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  9127. // the ability to pass a context and additional request options.
  9128. //
  9129. // See DeleteVpnGateway for details on how to use this API operation.
  9130. //
  9131. // The context must be non-nil and will be used for request cancellation. If
  9132. // the context is nil a panic will occur. In the future the SDK may create
  9133. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9134. // for more information on using Contexts.
  9135. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  9136. req, out := c.DeleteVpnGatewayRequest(input)
  9137. req.SetContext(ctx)
  9138. req.ApplyOptions(opts...)
  9139. return out, req.Send()
  9140. }
  9141. const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
  9142. // DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
  9143. // client's request for the DeprovisionByoipCidr operation. The "output" return
  9144. // value will be populated with the request's response once the request completes
  9145. // successfully.
  9146. //
  9147. // Use "Send" method on the returned Request to send the API call to the service.
  9148. // the "output" return value is not valid until after Send returns without error.
  9149. //
  9150. // See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
  9151. // API call, and error handling.
  9152. //
  9153. // This method is useful when you want to inject custom logic or configuration
  9154. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9155. //
  9156. //
  9157. // // Example sending a request using the DeprovisionByoipCidrRequest method.
  9158. // req, resp := client.DeprovisionByoipCidrRequest(params)
  9159. //
  9160. // err := req.Send()
  9161. // if err == nil { // resp is now filled
  9162. // fmt.Println(resp)
  9163. // }
  9164. //
  9165. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
  9166. func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
  9167. op := &request.Operation{
  9168. Name: opDeprovisionByoipCidr,
  9169. HTTPMethod: "POST",
  9170. HTTPPath: "/",
  9171. }
  9172. if input == nil {
  9173. input = &DeprovisionByoipCidrInput{}
  9174. }
  9175. output = &DeprovisionByoipCidrOutput{}
  9176. req = c.newRequest(op, input, output)
  9177. return
  9178. }
  9179. // DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
  9180. //
  9181. // Releases the specified address range that you provisioned for use with your
  9182. // AWS resources through bring your own IP addresses (BYOIP) and deletes the
  9183. // corresponding address pool.
  9184. //
  9185. // Before you can release an address range, you must stop advertising it using
  9186. // WithdrawByoipCidr and you must not have any IP addresses allocated from its
  9187. // address range.
  9188. //
  9189. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9190. // with awserr.Error's Code and Message methods to get detailed information about
  9191. // the error.
  9192. //
  9193. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9194. // API operation DeprovisionByoipCidr for usage and error information.
  9195. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
  9196. func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
  9197. req, out := c.DeprovisionByoipCidrRequest(input)
  9198. return out, req.Send()
  9199. }
  9200. // DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
  9201. // the ability to pass a context and additional request options.
  9202. //
  9203. // See DeprovisionByoipCidr for details on how to use this API operation.
  9204. //
  9205. // The context must be non-nil and will be used for request cancellation. If
  9206. // the context is nil a panic will occur. In the future the SDK may create
  9207. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9208. // for more information on using Contexts.
  9209. func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
  9210. req, out := c.DeprovisionByoipCidrRequest(input)
  9211. req.SetContext(ctx)
  9212. req.ApplyOptions(opts...)
  9213. return out, req.Send()
  9214. }
  9215. const opDeregisterImage = "DeregisterImage"
  9216. // DeregisterImageRequest generates a "aws/request.Request" representing the
  9217. // client's request for the DeregisterImage operation. The "output" return
  9218. // value will be populated with the request's response once the request completes
  9219. // successfully.
  9220. //
  9221. // Use "Send" method on the returned Request to send the API call to the service.
  9222. // the "output" return value is not valid until after Send returns without error.
  9223. //
  9224. // See DeregisterImage for more information on using the DeregisterImage
  9225. // API call, and error handling.
  9226. //
  9227. // This method is useful when you want to inject custom logic or configuration
  9228. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9229. //
  9230. //
  9231. // // Example sending a request using the DeregisterImageRequest method.
  9232. // req, resp := client.DeregisterImageRequest(params)
  9233. //
  9234. // err := req.Send()
  9235. // if err == nil { // resp is now filled
  9236. // fmt.Println(resp)
  9237. // }
  9238. //
  9239. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  9240. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  9241. op := &request.Operation{
  9242. Name: opDeregisterImage,
  9243. HTTPMethod: "POST",
  9244. HTTPPath: "/",
  9245. }
  9246. if input == nil {
  9247. input = &DeregisterImageInput{}
  9248. }
  9249. output = &DeregisterImageOutput{}
  9250. req = c.newRequest(op, input, output)
  9251. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9252. return
  9253. }
  9254. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  9255. //
  9256. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  9257. // to launch new instances; however, it doesn't affect any instances that you've
  9258. // already launched from the AMI. You'll continue to incur usage costs for those
  9259. // instances until you terminate them.
  9260. //
  9261. // When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
  9262. // that was created for the root volume of the instance during the AMI creation
  9263. // process. When you deregister an instance store-backed AMI, it doesn't affect
  9264. // the files that you uploaded to Amazon S3 when you created the AMI.
  9265. //
  9266. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9267. // with awserr.Error's Code and Message methods to get detailed information about
  9268. // the error.
  9269. //
  9270. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9271. // API operation DeregisterImage for usage and error information.
  9272. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  9273. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  9274. req, out := c.DeregisterImageRequest(input)
  9275. return out, req.Send()
  9276. }
  9277. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  9278. // the ability to pass a context and additional request options.
  9279. //
  9280. // See DeregisterImage for details on how to use this API operation.
  9281. //
  9282. // The context must be non-nil and will be used for request cancellation. If
  9283. // the context is nil a panic will occur. In the future the SDK may create
  9284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9285. // for more information on using Contexts.
  9286. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  9287. req, out := c.DeregisterImageRequest(input)
  9288. req.SetContext(ctx)
  9289. req.ApplyOptions(opts...)
  9290. return out, req.Send()
  9291. }
  9292. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  9293. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  9294. // client's request for the DescribeAccountAttributes operation. The "output" return
  9295. // value will be populated with the request's response once the request completes
  9296. // successfully.
  9297. //
  9298. // Use "Send" method on the returned Request to send the API call to the service.
  9299. // the "output" return value is not valid until after Send returns without error.
  9300. //
  9301. // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  9302. // API call, and error handling.
  9303. //
  9304. // This method is useful when you want to inject custom logic or configuration
  9305. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9306. //
  9307. //
  9308. // // Example sending a request using the DescribeAccountAttributesRequest method.
  9309. // req, resp := client.DescribeAccountAttributesRequest(params)
  9310. //
  9311. // err := req.Send()
  9312. // if err == nil { // resp is now filled
  9313. // fmt.Println(resp)
  9314. // }
  9315. //
  9316. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  9317. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  9318. op := &request.Operation{
  9319. Name: opDescribeAccountAttributes,
  9320. HTTPMethod: "POST",
  9321. HTTPPath: "/",
  9322. }
  9323. if input == nil {
  9324. input = &DescribeAccountAttributesInput{}
  9325. }
  9326. output = &DescribeAccountAttributesOutput{}
  9327. req = c.newRequest(op, input, output)
  9328. return
  9329. }
  9330. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  9331. //
  9332. // Describes attributes of your AWS account. The following are the supported
  9333. // account attributes:
  9334. //
  9335. // * supported-platforms: Indicates whether your account can launch instances
  9336. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  9337. //
  9338. // * default-vpc: The ID of the default VPC for your account, or none.
  9339. //
  9340. // * max-instances: The maximum number of On-Demand Instances that you can
  9341. // run.
  9342. //
  9343. // * vpc-max-security-groups-per-interface: The maximum number of security
  9344. // groups that you can assign to a network interface.
  9345. //
  9346. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  9347. // can allocate for use with EC2-Classic.
  9348. //
  9349. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  9350. // you can allocate for use with EC2-VPC.
  9351. //
  9352. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9353. // with awserr.Error's Code and Message methods to get detailed information about
  9354. // the error.
  9355. //
  9356. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9357. // API operation DescribeAccountAttributes for usage and error information.
  9358. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  9359. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  9360. req, out := c.DescribeAccountAttributesRequest(input)
  9361. return out, req.Send()
  9362. }
  9363. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  9364. // the ability to pass a context and additional request options.
  9365. //
  9366. // See DescribeAccountAttributes for details on how to use this API operation.
  9367. //
  9368. // The context must be non-nil and will be used for request cancellation. If
  9369. // the context is nil a panic will occur. In the future the SDK may create
  9370. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9371. // for more information on using Contexts.
  9372. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  9373. req, out := c.DescribeAccountAttributesRequest(input)
  9374. req.SetContext(ctx)
  9375. req.ApplyOptions(opts...)
  9376. return out, req.Send()
  9377. }
  9378. const opDescribeAddresses = "DescribeAddresses"
  9379. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  9380. // client's request for the DescribeAddresses operation. The "output" return
  9381. // value will be populated with the request's response once the request completes
  9382. // successfully.
  9383. //
  9384. // Use "Send" method on the returned Request to send the API call to the service.
  9385. // the "output" return value is not valid until after Send returns without error.
  9386. //
  9387. // See DescribeAddresses for more information on using the DescribeAddresses
  9388. // API call, and error handling.
  9389. //
  9390. // This method is useful when you want to inject custom logic or configuration
  9391. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9392. //
  9393. //
  9394. // // Example sending a request using the DescribeAddressesRequest method.
  9395. // req, resp := client.DescribeAddressesRequest(params)
  9396. //
  9397. // err := req.Send()
  9398. // if err == nil { // resp is now filled
  9399. // fmt.Println(resp)
  9400. // }
  9401. //
  9402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  9403. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  9404. op := &request.Operation{
  9405. Name: opDescribeAddresses,
  9406. HTTPMethod: "POST",
  9407. HTTPPath: "/",
  9408. }
  9409. if input == nil {
  9410. input = &DescribeAddressesInput{}
  9411. }
  9412. output = &DescribeAddressesOutput{}
  9413. req = c.newRequest(op, input, output)
  9414. return
  9415. }
  9416. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  9417. //
  9418. // Describes one or more of your Elastic IP addresses.
  9419. //
  9420. // An Elastic IP address is for use in either the EC2-Classic platform or in
  9421. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  9422. // in the Amazon Elastic Compute Cloud User Guide.
  9423. //
  9424. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9425. // with awserr.Error's Code and Message methods to get detailed information about
  9426. // the error.
  9427. //
  9428. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9429. // API operation DescribeAddresses for usage and error information.
  9430. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  9431. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  9432. req, out := c.DescribeAddressesRequest(input)
  9433. return out, req.Send()
  9434. }
  9435. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  9436. // the ability to pass a context and additional request options.
  9437. //
  9438. // See DescribeAddresses for details on how to use this API operation.
  9439. //
  9440. // The context must be non-nil and will be used for request cancellation. If
  9441. // the context is nil a panic will occur. In the future the SDK may create
  9442. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9443. // for more information on using Contexts.
  9444. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  9445. req, out := c.DescribeAddressesRequest(input)
  9446. req.SetContext(ctx)
  9447. req.ApplyOptions(opts...)
  9448. return out, req.Send()
  9449. }
  9450. const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
  9451. // DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
  9452. // client's request for the DescribeAggregateIdFormat operation. The "output" return
  9453. // value will be populated with the request's response once the request completes
  9454. // successfully.
  9455. //
  9456. // Use "Send" method on the returned Request to send the API call to the service.
  9457. // the "output" return value is not valid until after Send returns without error.
  9458. //
  9459. // See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
  9460. // API call, and error handling.
  9461. //
  9462. // This method is useful when you want to inject custom logic or configuration
  9463. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9464. //
  9465. //
  9466. // // Example sending a request using the DescribeAggregateIdFormatRequest method.
  9467. // req, resp := client.DescribeAggregateIdFormatRequest(params)
  9468. //
  9469. // err := req.Send()
  9470. // if err == nil { // resp is now filled
  9471. // fmt.Println(resp)
  9472. // }
  9473. //
  9474. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  9475. func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
  9476. op := &request.Operation{
  9477. Name: opDescribeAggregateIdFormat,
  9478. HTTPMethod: "POST",
  9479. HTTPPath: "/",
  9480. }
  9481. if input == nil {
  9482. input = &DescribeAggregateIdFormatInput{}
  9483. }
  9484. output = &DescribeAggregateIdFormatOutput{}
  9485. req = c.newRequest(op, input, output)
  9486. return
  9487. }
  9488. // DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
  9489. //
  9490. // Describes the longer ID format settings for all resource types in a specific
  9491. // region. This request is useful for performing a quick audit to determine
  9492. // whether a specific region is fully opted in for longer IDs (17-character
  9493. // IDs).
  9494. //
  9495. // This request only returns information about resource types that support longer
  9496. // IDs.
  9497. //
  9498. // The following resource types support longer IDs: bundle | conversion-task
  9499. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  9500. // | export-task | flow-log | image | import-task | instance | internet-gateway
  9501. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  9502. // | prefix-list | reservation | route-table | route-table-association | security-group
  9503. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  9504. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  9505. //
  9506. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9507. // with awserr.Error's Code and Message methods to get detailed information about
  9508. // the error.
  9509. //
  9510. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9511. // API operation DescribeAggregateIdFormat for usage and error information.
  9512. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
  9513. func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
  9514. req, out := c.DescribeAggregateIdFormatRequest(input)
  9515. return out, req.Send()
  9516. }
  9517. // DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
  9518. // the ability to pass a context and additional request options.
  9519. //
  9520. // See DescribeAggregateIdFormat for details on how to use this API operation.
  9521. //
  9522. // The context must be non-nil and will be used for request cancellation. If
  9523. // the context is nil a panic will occur. In the future the SDK may create
  9524. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9525. // for more information on using Contexts.
  9526. func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
  9527. req, out := c.DescribeAggregateIdFormatRequest(input)
  9528. req.SetContext(ctx)
  9529. req.ApplyOptions(opts...)
  9530. return out, req.Send()
  9531. }
  9532. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  9533. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  9534. // client's request for the DescribeAvailabilityZones operation. The "output" return
  9535. // value will be populated with the request's response once the request completes
  9536. // successfully.
  9537. //
  9538. // Use "Send" method on the returned Request to send the API call to the service.
  9539. // the "output" return value is not valid until after Send returns without error.
  9540. //
  9541. // See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
  9542. // API call, and error handling.
  9543. //
  9544. // This method is useful when you want to inject custom logic or configuration
  9545. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9546. //
  9547. //
  9548. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  9549. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  9550. //
  9551. // err := req.Send()
  9552. // if err == nil { // resp is now filled
  9553. // fmt.Println(resp)
  9554. // }
  9555. //
  9556. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  9557. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  9558. op := &request.Operation{
  9559. Name: opDescribeAvailabilityZones,
  9560. HTTPMethod: "POST",
  9561. HTTPPath: "/",
  9562. }
  9563. if input == nil {
  9564. input = &DescribeAvailabilityZonesInput{}
  9565. }
  9566. output = &DescribeAvailabilityZonesOutput{}
  9567. req = c.newRequest(op, input, output)
  9568. return
  9569. }
  9570. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  9571. //
  9572. // Describes one or more of the Availability Zones that are available to you.
  9573. // The results include zones only for the region you're currently using. If
  9574. // there is an event impacting an Availability Zone, you can use this request
  9575. // to view the state and any provided message for that Availability Zone.
  9576. //
  9577. // For more information, see Regions and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  9578. // in the Amazon Elastic Compute Cloud User Guide.
  9579. //
  9580. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9581. // with awserr.Error's Code and Message methods to get detailed information about
  9582. // the error.
  9583. //
  9584. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9585. // API operation DescribeAvailabilityZones for usage and error information.
  9586. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  9587. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  9588. req, out := c.DescribeAvailabilityZonesRequest(input)
  9589. return out, req.Send()
  9590. }
  9591. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  9592. // the ability to pass a context and additional request options.
  9593. //
  9594. // See DescribeAvailabilityZones for details on how to use this API operation.
  9595. //
  9596. // The context must be non-nil and will be used for request cancellation. If
  9597. // the context is nil a panic will occur. In the future the SDK may create
  9598. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9599. // for more information on using Contexts.
  9600. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  9601. req, out := c.DescribeAvailabilityZonesRequest(input)
  9602. req.SetContext(ctx)
  9603. req.ApplyOptions(opts...)
  9604. return out, req.Send()
  9605. }
  9606. const opDescribeBundleTasks = "DescribeBundleTasks"
  9607. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  9608. // client's request for the DescribeBundleTasks operation. The "output" return
  9609. // value will be populated with the request's response once the request completes
  9610. // successfully.
  9611. //
  9612. // Use "Send" method on the returned Request to send the API call to the service.
  9613. // the "output" return value is not valid until after Send returns without error.
  9614. //
  9615. // See DescribeBundleTasks for more information on using the DescribeBundleTasks
  9616. // API call, and error handling.
  9617. //
  9618. // This method is useful when you want to inject custom logic or configuration
  9619. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9620. //
  9621. //
  9622. // // Example sending a request using the DescribeBundleTasksRequest method.
  9623. // req, resp := client.DescribeBundleTasksRequest(params)
  9624. //
  9625. // err := req.Send()
  9626. // if err == nil { // resp is now filled
  9627. // fmt.Println(resp)
  9628. // }
  9629. //
  9630. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  9631. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  9632. op := &request.Operation{
  9633. Name: opDescribeBundleTasks,
  9634. HTTPMethod: "POST",
  9635. HTTPPath: "/",
  9636. }
  9637. if input == nil {
  9638. input = &DescribeBundleTasksInput{}
  9639. }
  9640. output = &DescribeBundleTasksOutput{}
  9641. req = c.newRequest(op, input, output)
  9642. return
  9643. }
  9644. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  9645. //
  9646. // Describes one or more of your bundling tasks.
  9647. //
  9648. // Completed bundle tasks are listed for only a limited time. If your bundle
  9649. // task is no longer in the list, you can still register an AMI from it. Just
  9650. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  9651. // you provided to the bundle task.
  9652. //
  9653. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9654. // with awserr.Error's Code and Message methods to get detailed information about
  9655. // the error.
  9656. //
  9657. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9658. // API operation DescribeBundleTasks for usage and error information.
  9659. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  9660. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  9661. req, out := c.DescribeBundleTasksRequest(input)
  9662. return out, req.Send()
  9663. }
  9664. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  9665. // the ability to pass a context and additional request options.
  9666. //
  9667. // See DescribeBundleTasks for details on how to use this API operation.
  9668. //
  9669. // The context must be non-nil and will be used for request cancellation. If
  9670. // the context is nil a panic will occur. In the future the SDK may create
  9671. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9672. // for more information on using Contexts.
  9673. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  9674. req, out := c.DescribeBundleTasksRequest(input)
  9675. req.SetContext(ctx)
  9676. req.ApplyOptions(opts...)
  9677. return out, req.Send()
  9678. }
  9679. const opDescribeByoipCidrs = "DescribeByoipCidrs"
  9680. // DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
  9681. // client's request for the DescribeByoipCidrs operation. The "output" return
  9682. // value will be populated with the request's response once the request completes
  9683. // successfully.
  9684. //
  9685. // Use "Send" method on the returned Request to send the API call to the service.
  9686. // the "output" return value is not valid until after Send returns without error.
  9687. //
  9688. // See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
  9689. // API call, and error handling.
  9690. //
  9691. // This method is useful when you want to inject custom logic or configuration
  9692. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9693. //
  9694. //
  9695. // // Example sending a request using the DescribeByoipCidrsRequest method.
  9696. // req, resp := client.DescribeByoipCidrsRequest(params)
  9697. //
  9698. // err := req.Send()
  9699. // if err == nil { // resp is now filled
  9700. // fmt.Println(resp)
  9701. // }
  9702. //
  9703. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
  9704. func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
  9705. op := &request.Operation{
  9706. Name: opDescribeByoipCidrs,
  9707. HTTPMethod: "POST",
  9708. HTTPPath: "/",
  9709. }
  9710. if input == nil {
  9711. input = &DescribeByoipCidrsInput{}
  9712. }
  9713. output = &DescribeByoipCidrsOutput{}
  9714. req = c.newRequest(op, input, output)
  9715. return
  9716. }
  9717. // DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
  9718. //
  9719. // Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
  9720. //
  9721. // To describe the address pools that were created when you provisioned the
  9722. // address ranges, use DescribePublicIpv4Pools.
  9723. //
  9724. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9725. // with awserr.Error's Code and Message methods to get detailed information about
  9726. // the error.
  9727. //
  9728. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9729. // API operation DescribeByoipCidrs for usage and error information.
  9730. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
  9731. func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
  9732. req, out := c.DescribeByoipCidrsRequest(input)
  9733. return out, req.Send()
  9734. }
  9735. // DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
  9736. // the ability to pass a context and additional request options.
  9737. //
  9738. // See DescribeByoipCidrs for details on how to use this API operation.
  9739. //
  9740. // The context must be non-nil and will be used for request cancellation. If
  9741. // the context is nil a panic will occur. In the future the SDK may create
  9742. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9743. // for more information on using Contexts.
  9744. func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
  9745. req, out := c.DescribeByoipCidrsRequest(input)
  9746. req.SetContext(ctx)
  9747. req.ApplyOptions(opts...)
  9748. return out, req.Send()
  9749. }
  9750. const opDescribeCapacityReservations = "DescribeCapacityReservations"
  9751. // DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
  9752. // client's request for the DescribeCapacityReservations operation. The "output" return
  9753. // value will be populated with the request's response once the request completes
  9754. // successfully.
  9755. //
  9756. // Use "Send" method on the returned Request to send the API call to the service.
  9757. // the "output" return value is not valid until after Send returns without error.
  9758. //
  9759. // See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
  9760. // API call, and error handling.
  9761. //
  9762. // This method is useful when you want to inject custom logic or configuration
  9763. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9764. //
  9765. //
  9766. // // Example sending a request using the DescribeCapacityReservationsRequest method.
  9767. // req, resp := client.DescribeCapacityReservationsRequest(params)
  9768. //
  9769. // err := req.Send()
  9770. // if err == nil { // resp is now filled
  9771. // fmt.Println(resp)
  9772. // }
  9773. //
  9774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
  9775. func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
  9776. op := &request.Operation{
  9777. Name: opDescribeCapacityReservations,
  9778. HTTPMethod: "POST",
  9779. HTTPPath: "/",
  9780. }
  9781. if input == nil {
  9782. input = &DescribeCapacityReservationsInput{}
  9783. }
  9784. output = &DescribeCapacityReservationsOutput{}
  9785. req = c.newRequest(op, input, output)
  9786. return
  9787. }
  9788. // DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
  9789. //
  9790. // Describes one or more of your Capacity Reservations. The results describe
  9791. // only the Capacity Reservations in the AWS Region that you're currently using.
  9792. //
  9793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9794. // with awserr.Error's Code and Message methods to get detailed information about
  9795. // the error.
  9796. //
  9797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9798. // API operation DescribeCapacityReservations for usage and error information.
  9799. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
  9800. func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
  9801. req, out := c.DescribeCapacityReservationsRequest(input)
  9802. return out, req.Send()
  9803. }
  9804. // DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
  9805. // the ability to pass a context and additional request options.
  9806. //
  9807. // See DescribeCapacityReservations for details on how to use this API operation.
  9808. //
  9809. // The context must be non-nil and will be used for request cancellation. If
  9810. // the context is nil a panic will occur. In the future the SDK may create
  9811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9812. // for more information on using Contexts.
  9813. func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
  9814. req, out := c.DescribeCapacityReservationsRequest(input)
  9815. req.SetContext(ctx)
  9816. req.ApplyOptions(opts...)
  9817. return out, req.Send()
  9818. }
  9819. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  9820. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  9821. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  9822. // value will be populated with the request's response once the request completes
  9823. // successfully.
  9824. //
  9825. // Use "Send" method on the returned Request to send the API call to the service.
  9826. // the "output" return value is not valid until after Send returns without error.
  9827. //
  9828. // See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
  9829. // API call, and error handling.
  9830. //
  9831. // This method is useful when you want to inject custom logic or configuration
  9832. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9833. //
  9834. //
  9835. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  9836. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  9837. //
  9838. // err := req.Send()
  9839. // if err == nil { // resp is now filled
  9840. // fmt.Println(resp)
  9841. // }
  9842. //
  9843. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  9844. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  9845. op := &request.Operation{
  9846. Name: opDescribeClassicLinkInstances,
  9847. HTTPMethod: "POST",
  9848. HTTPPath: "/",
  9849. }
  9850. if input == nil {
  9851. input = &DescribeClassicLinkInstancesInput{}
  9852. }
  9853. output = &DescribeClassicLinkInstancesOutput{}
  9854. req = c.newRequest(op, input, output)
  9855. return
  9856. }
  9857. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  9858. //
  9859. // Describes one or more of your linked EC2-Classic instances. This request
  9860. // only returns information about EC2-Classic instances linked to a VPC through
  9861. // ClassicLink. You cannot use this request to return information about other
  9862. // instances.
  9863. //
  9864. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9865. // with awserr.Error's Code and Message methods to get detailed information about
  9866. // the error.
  9867. //
  9868. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9869. // API operation DescribeClassicLinkInstances for usage and error information.
  9870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  9871. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  9872. req, out := c.DescribeClassicLinkInstancesRequest(input)
  9873. return out, req.Send()
  9874. }
  9875. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  9876. // the ability to pass a context and additional request options.
  9877. //
  9878. // See DescribeClassicLinkInstances for details on how to use this API operation.
  9879. //
  9880. // The context must be non-nil and will be used for request cancellation. If
  9881. // the context is nil a panic will occur. In the future the SDK may create
  9882. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9883. // for more information on using Contexts.
  9884. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  9885. req, out := c.DescribeClassicLinkInstancesRequest(input)
  9886. req.SetContext(ctx)
  9887. req.ApplyOptions(opts...)
  9888. return out, req.Send()
  9889. }
  9890. const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
  9891. // DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
  9892. // client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
  9893. // value will be populated with the request's response once the request completes
  9894. // successfully.
  9895. //
  9896. // Use "Send" method on the returned Request to send the API call to the service.
  9897. // the "output" return value is not valid until after Send returns without error.
  9898. //
  9899. // See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
  9900. // API call, and error handling.
  9901. //
  9902. // This method is useful when you want to inject custom logic or configuration
  9903. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9904. //
  9905. //
  9906. // // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
  9907. // req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
  9908. //
  9909. // err := req.Send()
  9910. // if err == nil { // resp is now filled
  9911. // fmt.Println(resp)
  9912. // }
  9913. //
  9914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
  9915. func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
  9916. op := &request.Operation{
  9917. Name: opDescribeClientVpnAuthorizationRules,
  9918. HTTPMethod: "POST",
  9919. HTTPPath: "/",
  9920. }
  9921. if input == nil {
  9922. input = &DescribeClientVpnAuthorizationRulesInput{}
  9923. }
  9924. output = &DescribeClientVpnAuthorizationRulesOutput{}
  9925. req = c.newRequest(op, input, output)
  9926. return
  9927. }
  9928. // DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
  9929. //
  9930. // Describes the authorization rules for a specified Client VPN endpoint.
  9931. //
  9932. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9933. // with awserr.Error's Code and Message methods to get detailed information about
  9934. // the error.
  9935. //
  9936. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9937. // API operation DescribeClientVpnAuthorizationRules for usage and error information.
  9938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
  9939. func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
  9940. req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
  9941. return out, req.Send()
  9942. }
  9943. // DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
  9944. // the ability to pass a context and additional request options.
  9945. //
  9946. // See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
  9947. //
  9948. // The context must be non-nil and will be used for request cancellation. If
  9949. // the context is nil a panic will occur. In the future the SDK may create
  9950. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9951. // for more information on using Contexts.
  9952. func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
  9953. req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
  9954. req.SetContext(ctx)
  9955. req.ApplyOptions(opts...)
  9956. return out, req.Send()
  9957. }
  9958. const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
  9959. // DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
  9960. // client's request for the DescribeClientVpnConnections operation. The "output" return
  9961. // value will be populated with the request's response once the request completes
  9962. // successfully.
  9963. //
  9964. // Use "Send" method on the returned Request to send the API call to the service.
  9965. // the "output" return value is not valid until after Send returns without error.
  9966. //
  9967. // See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
  9968. // API call, and error handling.
  9969. //
  9970. // This method is useful when you want to inject custom logic or configuration
  9971. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9972. //
  9973. //
  9974. // // Example sending a request using the DescribeClientVpnConnectionsRequest method.
  9975. // req, resp := client.DescribeClientVpnConnectionsRequest(params)
  9976. //
  9977. // err := req.Send()
  9978. // if err == nil { // resp is now filled
  9979. // fmt.Println(resp)
  9980. // }
  9981. //
  9982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
  9983. func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
  9984. op := &request.Operation{
  9985. Name: opDescribeClientVpnConnections,
  9986. HTTPMethod: "POST",
  9987. HTTPPath: "/",
  9988. }
  9989. if input == nil {
  9990. input = &DescribeClientVpnConnectionsInput{}
  9991. }
  9992. output = &DescribeClientVpnConnectionsOutput{}
  9993. req = c.newRequest(op, input, output)
  9994. return
  9995. }
  9996. // DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
  9997. //
  9998. // Describes active client connections and connections that have been terminated
  9999. // within the last 60 minutes for the specified Client VPN endpoint.
  10000. //
  10001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10002. // with awserr.Error's Code and Message methods to get detailed information about
  10003. // the error.
  10004. //
  10005. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10006. // API operation DescribeClientVpnConnections for usage and error information.
  10007. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
  10008. func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
  10009. req, out := c.DescribeClientVpnConnectionsRequest(input)
  10010. return out, req.Send()
  10011. }
  10012. // DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
  10013. // the ability to pass a context and additional request options.
  10014. //
  10015. // See DescribeClientVpnConnections for details on how to use this API operation.
  10016. //
  10017. // The context must be non-nil and will be used for request cancellation. If
  10018. // the context is nil a panic will occur. In the future the SDK may create
  10019. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10020. // for more information on using Contexts.
  10021. func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
  10022. req, out := c.DescribeClientVpnConnectionsRequest(input)
  10023. req.SetContext(ctx)
  10024. req.ApplyOptions(opts...)
  10025. return out, req.Send()
  10026. }
  10027. const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
  10028. // DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
  10029. // client's request for the DescribeClientVpnEndpoints operation. The "output" return
  10030. // value will be populated with the request's response once the request completes
  10031. // successfully.
  10032. //
  10033. // Use "Send" method on the returned Request to send the API call to the service.
  10034. // the "output" return value is not valid until after Send returns without error.
  10035. //
  10036. // See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
  10037. // API call, and error handling.
  10038. //
  10039. // This method is useful when you want to inject custom logic or configuration
  10040. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10041. //
  10042. //
  10043. // // Example sending a request using the DescribeClientVpnEndpointsRequest method.
  10044. // req, resp := client.DescribeClientVpnEndpointsRequest(params)
  10045. //
  10046. // err := req.Send()
  10047. // if err == nil { // resp is now filled
  10048. // fmt.Println(resp)
  10049. // }
  10050. //
  10051. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
  10052. func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
  10053. op := &request.Operation{
  10054. Name: opDescribeClientVpnEndpoints,
  10055. HTTPMethod: "POST",
  10056. HTTPPath: "/",
  10057. }
  10058. if input == nil {
  10059. input = &DescribeClientVpnEndpointsInput{}
  10060. }
  10061. output = &DescribeClientVpnEndpointsOutput{}
  10062. req = c.newRequest(op, input, output)
  10063. return
  10064. }
  10065. // DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
  10066. //
  10067. // Describes one or more Client VPN endpoints in the account.
  10068. //
  10069. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10070. // with awserr.Error's Code and Message methods to get detailed information about
  10071. // the error.
  10072. //
  10073. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10074. // API operation DescribeClientVpnEndpoints for usage and error information.
  10075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
  10076. func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
  10077. req, out := c.DescribeClientVpnEndpointsRequest(input)
  10078. return out, req.Send()
  10079. }
  10080. // DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
  10081. // the ability to pass a context and additional request options.
  10082. //
  10083. // See DescribeClientVpnEndpoints for details on how to use this API operation.
  10084. //
  10085. // The context must be non-nil and will be used for request cancellation. If
  10086. // the context is nil a panic will occur. In the future the SDK may create
  10087. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10088. // for more information on using Contexts.
  10089. func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
  10090. req, out := c.DescribeClientVpnEndpointsRequest(input)
  10091. req.SetContext(ctx)
  10092. req.ApplyOptions(opts...)
  10093. return out, req.Send()
  10094. }
  10095. const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
  10096. // DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
  10097. // client's request for the DescribeClientVpnRoutes operation. The "output" return
  10098. // value will be populated with the request's response once the request completes
  10099. // successfully.
  10100. //
  10101. // Use "Send" method on the returned Request to send the API call to the service.
  10102. // the "output" return value is not valid until after Send returns without error.
  10103. //
  10104. // See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
  10105. // API call, and error handling.
  10106. //
  10107. // This method is useful when you want to inject custom logic or configuration
  10108. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10109. //
  10110. //
  10111. // // Example sending a request using the DescribeClientVpnRoutesRequest method.
  10112. // req, resp := client.DescribeClientVpnRoutesRequest(params)
  10113. //
  10114. // err := req.Send()
  10115. // if err == nil { // resp is now filled
  10116. // fmt.Println(resp)
  10117. // }
  10118. //
  10119. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
  10120. func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
  10121. op := &request.Operation{
  10122. Name: opDescribeClientVpnRoutes,
  10123. HTTPMethod: "POST",
  10124. HTTPPath: "/",
  10125. }
  10126. if input == nil {
  10127. input = &DescribeClientVpnRoutesInput{}
  10128. }
  10129. output = &DescribeClientVpnRoutesOutput{}
  10130. req = c.newRequest(op, input, output)
  10131. return
  10132. }
  10133. // DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
  10134. //
  10135. // Describes the routes for the specified Client VPN endpoint.
  10136. //
  10137. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10138. // with awserr.Error's Code and Message methods to get detailed information about
  10139. // the error.
  10140. //
  10141. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10142. // API operation DescribeClientVpnRoutes for usage and error information.
  10143. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
  10144. func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
  10145. req, out := c.DescribeClientVpnRoutesRequest(input)
  10146. return out, req.Send()
  10147. }
  10148. // DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
  10149. // the ability to pass a context and additional request options.
  10150. //
  10151. // See DescribeClientVpnRoutes for details on how to use this API operation.
  10152. //
  10153. // The context must be non-nil and will be used for request cancellation. If
  10154. // the context is nil a panic will occur. In the future the SDK may create
  10155. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10156. // for more information on using Contexts.
  10157. func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
  10158. req, out := c.DescribeClientVpnRoutesRequest(input)
  10159. req.SetContext(ctx)
  10160. req.ApplyOptions(opts...)
  10161. return out, req.Send()
  10162. }
  10163. const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
  10164. // DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
  10165. // client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
  10166. // value will be populated with the request's response once the request completes
  10167. // successfully.
  10168. //
  10169. // Use "Send" method on the returned Request to send the API call to the service.
  10170. // the "output" return value is not valid until after Send returns without error.
  10171. //
  10172. // See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
  10173. // API call, and error handling.
  10174. //
  10175. // This method is useful when you want to inject custom logic or configuration
  10176. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10177. //
  10178. //
  10179. // // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
  10180. // req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
  10181. //
  10182. // err := req.Send()
  10183. // if err == nil { // resp is now filled
  10184. // fmt.Println(resp)
  10185. // }
  10186. //
  10187. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
  10188. func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
  10189. op := &request.Operation{
  10190. Name: opDescribeClientVpnTargetNetworks,
  10191. HTTPMethod: "POST",
  10192. HTTPPath: "/",
  10193. }
  10194. if input == nil {
  10195. input = &DescribeClientVpnTargetNetworksInput{}
  10196. }
  10197. output = &DescribeClientVpnTargetNetworksOutput{}
  10198. req = c.newRequest(op, input, output)
  10199. return
  10200. }
  10201. // DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
  10202. //
  10203. // Describes the target networks associated with the specified Client VPN endpoint.
  10204. //
  10205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10206. // with awserr.Error's Code and Message methods to get detailed information about
  10207. // the error.
  10208. //
  10209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10210. // API operation DescribeClientVpnTargetNetworks for usage and error information.
  10211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
  10212. func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
  10213. req, out := c.DescribeClientVpnTargetNetworksRequest(input)
  10214. return out, req.Send()
  10215. }
  10216. // DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
  10217. // the ability to pass a context and additional request options.
  10218. //
  10219. // See DescribeClientVpnTargetNetworks for details on how to use this API operation.
  10220. //
  10221. // The context must be non-nil and will be used for request cancellation. If
  10222. // the context is nil a panic will occur. In the future the SDK may create
  10223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10224. // for more information on using Contexts.
  10225. func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
  10226. req, out := c.DescribeClientVpnTargetNetworksRequest(input)
  10227. req.SetContext(ctx)
  10228. req.ApplyOptions(opts...)
  10229. return out, req.Send()
  10230. }
  10231. const opDescribeConversionTasks = "DescribeConversionTasks"
  10232. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  10233. // client's request for the DescribeConversionTasks operation. The "output" return
  10234. // value will be populated with the request's response once the request completes
  10235. // successfully.
  10236. //
  10237. // Use "Send" method on the returned Request to send the API call to the service.
  10238. // the "output" return value is not valid until after Send returns without error.
  10239. //
  10240. // See DescribeConversionTasks for more information on using the DescribeConversionTasks
  10241. // API call, and error handling.
  10242. //
  10243. // This method is useful when you want to inject custom logic or configuration
  10244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10245. //
  10246. //
  10247. // // Example sending a request using the DescribeConversionTasksRequest method.
  10248. // req, resp := client.DescribeConversionTasksRequest(params)
  10249. //
  10250. // err := req.Send()
  10251. // if err == nil { // resp is now filled
  10252. // fmt.Println(resp)
  10253. // }
  10254. //
  10255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  10256. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  10257. op := &request.Operation{
  10258. Name: opDescribeConversionTasks,
  10259. HTTPMethod: "POST",
  10260. HTTPPath: "/",
  10261. }
  10262. if input == nil {
  10263. input = &DescribeConversionTasksInput{}
  10264. }
  10265. output = &DescribeConversionTasksOutput{}
  10266. req = c.newRequest(op, input, output)
  10267. return
  10268. }
  10269. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  10270. //
  10271. // Describes one or more of your conversion tasks. For more information, see
  10272. // the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
  10273. //
  10274. // For information about the import manifest referenced by this API action,
  10275. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  10276. //
  10277. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10278. // with awserr.Error's Code and Message methods to get detailed information about
  10279. // the error.
  10280. //
  10281. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10282. // API operation DescribeConversionTasks for usage and error information.
  10283. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  10284. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  10285. req, out := c.DescribeConversionTasksRequest(input)
  10286. return out, req.Send()
  10287. }
  10288. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  10289. // the ability to pass a context and additional request options.
  10290. //
  10291. // See DescribeConversionTasks for details on how to use this API operation.
  10292. //
  10293. // The context must be non-nil and will be used for request cancellation. If
  10294. // the context is nil a panic will occur. In the future the SDK may create
  10295. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10296. // for more information on using Contexts.
  10297. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  10298. req, out := c.DescribeConversionTasksRequest(input)
  10299. req.SetContext(ctx)
  10300. req.ApplyOptions(opts...)
  10301. return out, req.Send()
  10302. }
  10303. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  10304. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  10305. // client's request for the DescribeCustomerGateways operation. The "output" return
  10306. // value will be populated with the request's response once the request completes
  10307. // successfully.
  10308. //
  10309. // Use "Send" method on the returned Request to send the API call to the service.
  10310. // the "output" return value is not valid until after Send returns without error.
  10311. //
  10312. // See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
  10313. // API call, and error handling.
  10314. //
  10315. // This method is useful when you want to inject custom logic or configuration
  10316. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10317. //
  10318. //
  10319. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  10320. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  10321. //
  10322. // err := req.Send()
  10323. // if err == nil { // resp is now filled
  10324. // fmt.Println(resp)
  10325. // }
  10326. //
  10327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  10328. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  10329. op := &request.Operation{
  10330. Name: opDescribeCustomerGateways,
  10331. HTTPMethod: "POST",
  10332. HTTPPath: "/",
  10333. }
  10334. if input == nil {
  10335. input = &DescribeCustomerGatewaysInput{}
  10336. }
  10337. output = &DescribeCustomerGatewaysOutput{}
  10338. req = c.newRequest(op, input, output)
  10339. return
  10340. }
  10341. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  10342. //
  10343. // Describes one or more of your VPN customer gateways.
  10344. //
  10345. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  10346. // in the AWS Site-to-Site VPN User Guide.
  10347. //
  10348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10349. // with awserr.Error's Code and Message methods to get detailed information about
  10350. // the error.
  10351. //
  10352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10353. // API operation DescribeCustomerGateways for usage and error information.
  10354. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  10355. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  10356. req, out := c.DescribeCustomerGatewaysRequest(input)
  10357. return out, req.Send()
  10358. }
  10359. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  10360. // the ability to pass a context and additional request options.
  10361. //
  10362. // See DescribeCustomerGateways for details on how to use this API operation.
  10363. //
  10364. // The context must be non-nil and will be used for request cancellation. If
  10365. // the context is nil a panic will occur. In the future the SDK may create
  10366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10367. // for more information on using Contexts.
  10368. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  10369. req, out := c.DescribeCustomerGatewaysRequest(input)
  10370. req.SetContext(ctx)
  10371. req.ApplyOptions(opts...)
  10372. return out, req.Send()
  10373. }
  10374. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  10375. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  10376. // client's request for the DescribeDhcpOptions operation. The "output" return
  10377. // value will be populated with the request's response once the request completes
  10378. // successfully.
  10379. //
  10380. // Use "Send" method on the returned Request to send the API call to the service.
  10381. // the "output" return value is not valid until after Send returns without error.
  10382. //
  10383. // See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
  10384. // API call, and error handling.
  10385. //
  10386. // This method is useful when you want to inject custom logic or configuration
  10387. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10388. //
  10389. //
  10390. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  10391. // req, resp := client.DescribeDhcpOptionsRequest(params)
  10392. //
  10393. // err := req.Send()
  10394. // if err == nil { // resp is now filled
  10395. // fmt.Println(resp)
  10396. // }
  10397. //
  10398. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  10399. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  10400. op := &request.Operation{
  10401. Name: opDescribeDhcpOptions,
  10402. HTTPMethod: "POST",
  10403. HTTPPath: "/",
  10404. }
  10405. if input == nil {
  10406. input = &DescribeDhcpOptionsInput{}
  10407. }
  10408. output = &DescribeDhcpOptionsOutput{}
  10409. req = c.newRequest(op, input, output)
  10410. return
  10411. }
  10412. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  10413. //
  10414. // Describes one or more of your DHCP options sets.
  10415. //
  10416. // For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  10417. // in the Amazon Virtual Private Cloud User Guide.
  10418. //
  10419. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10420. // with awserr.Error's Code and Message methods to get detailed information about
  10421. // the error.
  10422. //
  10423. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10424. // API operation DescribeDhcpOptions for usage and error information.
  10425. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  10426. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  10427. req, out := c.DescribeDhcpOptionsRequest(input)
  10428. return out, req.Send()
  10429. }
  10430. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  10431. // the ability to pass a context and additional request options.
  10432. //
  10433. // See DescribeDhcpOptions for details on how to use this API operation.
  10434. //
  10435. // The context must be non-nil and will be used for request cancellation. If
  10436. // the context is nil a panic will occur. In the future the SDK may create
  10437. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10438. // for more information on using Contexts.
  10439. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  10440. req, out := c.DescribeDhcpOptionsRequest(input)
  10441. req.SetContext(ctx)
  10442. req.ApplyOptions(opts...)
  10443. return out, req.Send()
  10444. }
  10445. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  10446. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  10447. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  10448. // value will be populated with the request's response once the request completes
  10449. // successfully.
  10450. //
  10451. // Use "Send" method on the returned Request to send the API call to the service.
  10452. // the "output" return value is not valid until after Send returns without error.
  10453. //
  10454. // See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
  10455. // API call, and error handling.
  10456. //
  10457. // This method is useful when you want to inject custom logic or configuration
  10458. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10459. //
  10460. //
  10461. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  10462. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  10463. //
  10464. // err := req.Send()
  10465. // if err == nil { // resp is now filled
  10466. // fmt.Println(resp)
  10467. // }
  10468. //
  10469. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  10470. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  10471. op := &request.Operation{
  10472. Name: opDescribeEgressOnlyInternetGateways,
  10473. HTTPMethod: "POST",
  10474. HTTPPath: "/",
  10475. }
  10476. if input == nil {
  10477. input = &DescribeEgressOnlyInternetGatewaysInput{}
  10478. }
  10479. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  10480. req = c.newRequest(op, input, output)
  10481. return
  10482. }
  10483. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  10484. //
  10485. // Describes one or more of your egress-only internet gateways.
  10486. //
  10487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10488. // with awserr.Error's Code and Message methods to get detailed information about
  10489. // the error.
  10490. //
  10491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10492. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  10493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  10494. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  10495. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  10496. return out, req.Send()
  10497. }
  10498. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  10499. // the ability to pass a context and additional request options.
  10500. //
  10501. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  10502. //
  10503. // The context must be non-nil and will be used for request cancellation. If
  10504. // the context is nil a panic will occur. In the future the SDK may create
  10505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10506. // for more information on using Contexts.
  10507. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  10508. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  10509. req.SetContext(ctx)
  10510. req.ApplyOptions(opts...)
  10511. return out, req.Send()
  10512. }
  10513. const opDescribeElasticGpus = "DescribeElasticGpus"
  10514. // DescribeElasticGpusRequest generates a "aws/request.Request" representing the
  10515. // client's request for the DescribeElasticGpus operation. The "output" return
  10516. // value will be populated with the request's response once the request completes
  10517. // successfully.
  10518. //
  10519. // Use "Send" method on the returned Request to send the API call to the service.
  10520. // the "output" return value is not valid until after Send returns without error.
  10521. //
  10522. // See DescribeElasticGpus for more information on using the DescribeElasticGpus
  10523. // API call, and error handling.
  10524. //
  10525. // This method is useful when you want to inject custom logic or configuration
  10526. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10527. //
  10528. //
  10529. // // Example sending a request using the DescribeElasticGpusRequest method.
  10530. // req, resp := client.DescribeElasticGpusRequest(params)
  10531. //
  10532. // err := req.Send()
  10533. // if err == nil { // resp is now filled
  10534. // fmt.Println(resp)
  10535. // }
  10536. //
  10537. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  10538. func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
  10539. op := &request.Operation{
  10540. Name: opDescribeElasticGpus,
  10541. HTTPMethod: "POST",
  10542. HTTPPath: "/",
  10543. }
  10544. if input == nil {
  10545. input = &DescribeElasticGpusInput{}
  10546. }
  10547. output = &DescribeElasticGpusOutput{}
  10548. req = c.newRequest(op, input, output)
  10549. return
  10550. }
  10551. // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
  10552. //
  10553. // Describes the Elastic Graphics accelerator associated with your instances.
  10554. // For more information about Elastic Graphics, see Amazon Elastic Graphics
  10555. // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
  10556. //
  10557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10558. // with awserr.Error's Code and Message methods to get detailed information about
  10559. // the error.
  10560. //
  10561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10562. // API operation DescribeElasticGpus for usage and error information.
  10563. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  10564. func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
  10565. req, out := c.DescribeElasticGpusRequest(input)
  10566. return out, req.Send()
  10567. }
  10568. // DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
  10569. // the ability to pass a context and additional request options.
  10570. //
  10571. // See DescribeElasticGpus for details on how to use this API operation.
  10572. //
  10573. // The context must be non-nil and will be used for request cancellation. If
  10574. // the context is nil a panic will occur. In the future the SDK may create
  10575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10576. // for more information on using Contexts.
  10577. func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
  10578. req, out := c.DescribeElasticGpusRequest(input)
  10579. req.SetContext(ctx)
  10580. req.ApplyOptions(opts...)
  10581. return out, req.Send()
  10582. }
  10583. const opDescribeExportTasks = "DescribeExportTasks"
  10584. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  10585. // client's request for the DescribeExportTasks operation. The "output" return
  10586. // value will be populated with the request's response once the request completes
  10587. // successfully.
  10588. //
  10589. // Use "Send" method on the returned Request to send the API call to the service.
  10590. // the "output" return value is not valid until after Send returns without error.
  10591. //
  10592. // See DescribeExportTasks for more information on using the DescribeExportTasks
  10593. // API call, and error handling.
  10594. //
  10595. // This method is useful when you want to inject custom logic or configuration
  10596. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10597. //
  10598. //
  10599. // // Example sending a request using the DescribeExportTasksRequest method.
  10600. // req, resp := client.DescribeExportTasksRequest(params)
  10601. //
  10602. // err := req.Send()
  10603. // if err == nil { // resp is now filled
  10604. // fmt.Println(resp)
  10605. // }
  10606. //
  10607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  10608. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  10609. op := &request.Operation{
  10610. Name: opDescribeExportTasks,
  10611. HTTPMethod: "POST",
  10612. HTTPPath: "/",
  10613. }
  10614. if input == nil {
  10615. input = &DescribeExportTasksInput{}
  10616. }
  10617. output = &DescribeExportTasksOutput{}
  10618. req = c.newRequest(op, input, output)
  10619. return
  10620. }
  10621. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  10622. //
  10623. // Describes one or more of your export tasks.
  10624. //
  10625. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10626. // with awserr.Error's Code and Message methods to get detailed information about
  10627. // the error.
  10628. //
  10629. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10630. // API operation DescribeExportTasks for usage and error information.
  10631. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  10632. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  10633. req, out := c.DescribeExportTasksRequest(input)
  10634. return out, req.Send()
  10635. }
  10636. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  10637. // the ability to pass a context and additional request options.
  10638. //
  10639. // See DescribeExportTasks for details on how to use this API operation.
  10640. //
  10641. // The context must be non-nil and will be used for request cancellation. If
  10642. // the context is nil a panic will occur. In the future the SDK may create
  10643. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10644. // for more information on using Contexts.
  10645. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  10646. req, out := c.DescribeExportTasksRequest(input)
  10647. req.SetContext(ctx)
  10648. req.ApplyOptions(opts...)
  10649. return out, req.Send()
  10650. }
  10651. const opDescribeFleetHistory = "DescribeFleetHistory"
  10652. // DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
  10653. // client's request for the DescribeFleetHistory operation. The "output" return
  10654. // value will be populated with the request's response once the request completes
  10655. // successfully.
  10656. //
  10657. // Use "Send" method on the returned Request to send the API call to the service.
  10658. // the "output" return value is not valid until after Send returns without error.
  10659. //
  10660. // See DescribeFleetHistory for more information on using the DescribeFleetHistory
  10661. // API call, and error handling.
  10662. //
  10663. // This method is useful when you want to inject custom logic or configuration
  10664. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10665. //
  10666. //
  10667. // // Example sending a request using the DescribeFleetHistoryRequest method.
  10668. // req, resp := client.DescribeFleetHistoryRequest(params)
  10669. //
  10670. // err := req.Send()
  10671. // if err == nil { // resp is now filled
  10672. // fmt.Println(resp)
  10673. // }
  10674. //
  10675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  10676. func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
  10677. op := &request.Operation{
  10678. Name: opDescribeFleetHistory,
  10679. HTTPMethod: "POST",
  10680. HTTPPath: "/",
  10681. }
  10682. if input == nil {
  10683. input = &DescribeFleetHistoryInput{}
  10684. }
  10685. output = &DescribeFleetHistoryOutput{}
  10686. req = c.newRequest(op, input, output)
  10687. return
  10688. }
  10689. // DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
  10690. //
  10691. // Describes the events for the specified EC2 Fleet during the specified time.
  10692. //
  10693. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10694. // with awserr.Error's Code and Message methods to get detailed information about
  10695. // the error.
  10696. //
  10697. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10698. // API operation DescribeFleetHistory for usage and error information.
  10699. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
  10700. func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
  10701. req, out := c.DescribeFleetHistoryRequest(input)
  10702. return out, req.Send()
  10703. }
  10704. // DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
  10705. // the ability to pass a context and additional request options.
  10706. //
  10707. // See DescribeFleetHistory for details on how to use this API operation.
  10708. //
  10709. // The context must be non-nil and will be used for request cancellation. If
  10710. // the context is nil a panic will occur. In the future the SDK may create
  10711. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10712. // for more information on using Contexts.
  10713. func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
  10714. req, out := c.DescribeFleetHistoryRequest(input)
  10715. req.SetContext(ctx)
  10716. req.ApplyOptions(opts...)
  10717. return out, req.Send()
  10718. }
  10719. const opDescribeFleetInstances = "DescribeFleetInstances"
  10720. // DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
  10721. // client's request for the DescribeFleetInstances operation. The "output" return
  10722. // value will be populated with the request's response once the request completes
  10723. // successfully.
  10724. //
  10725. // Use "Send" method on the returned Request to send the API call to the service.
  10726. // the "output" return value is not valid until after Send returns without error.
  10727. //
  10728. // See DescribeFleetInstances for more information on using the DescribeFleetInstances
  10729. // API call, and error handling.
  10730. //
  10731. // This method is useful when you want to inject custom logic or configuration
  10732. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10733. //
  10734. //
  10735. // // Example sending a request using the DescribeFleetInstancesRequest method.
  10736. // req, resp := client.DescribeFleetInstancesRequest(params)
  10737. //
  10738. // err := req.Send()
  10739. // if err == nil { // resp is now filled
  10740. // fmt.Println(resp)
  10741. // }
  10742. //
  10743. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  10744. func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
  10745. op := &request.Operation{
  10746. Name: opDescribeFleetInstances,
  10747. HTTPMethod: "POST",
  10748. HTTPPath: "/",
  10749. }
  10750. if input == nil {
  10751. input = &DescribeFleetInstancesInput{}
  10752. }
  10753. output = &DescribeFleetInstancesOutput{}
  10754. req = c.newRequest(op, input, output)
  10755. return
  10756. }
  10757. // DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
  10758. //
  10759. // Describes the running instances for the specified EC2 Fleet.
  10760. //
  10761. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10762. // with awserr.Error's Code and Message methods to get detailed information about
  10763. // the error.
  10764. //
  10765. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10766. // API operation DescribeFleetInstances for usage and error information.
  10767. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
  10768. func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
  10769. req, out := c.DescribeFleetInstancesRequest(input)
  10770. return out, req.Send()
  10771. }
  10772. // DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
  10773. // the ability to pass a context and additional request options.
  10774. //
  10775. // See DescribeFleetInstances for details on how to use this API operation.
  10776. //
  10777. // The context must be non-nil and will be used for request cancellation. If
  10778. // the context is nil a panic will occur. In the future the SDK may create
  10779. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10780. // for more information on using Contexts.
  10781. func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
  10782. req, out := c.DescribeFleetInstancesRequest(input)
  10783. req.SetContext(ctx)
  10784. req.ApplyOptions(opts...)
  10785. return out, req.Send()
  10786. }
  10787. const opDescribeFleets = "DescribeFleets"
  10788. // DescribeFleetsRequest generates a "aws/request.Request" representing the
  10789. // client's request for the DescribeFleets operation. The "output" return
  10790. // value will be populated with the request's response once the request completes
  10791. // successfully.
  10792. //
  10793. // Use "Send" method on the returned Request to send the API call to the service.
  10794. // the "output" return value is not valid until after Send returns without error.
  10795. //
  10796. // See DescribeFleets for more information on using the DescribeFleets
  10797. // API call, and error handling.
  10798. //
  10799. // This method is useful when you want to inject custom logic or configuration
  10800. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10801. //
  10802. //
  10803. // // Example sending a request using the DescribeFleetsRequest method.
  10804. // req, resp := client.DescribeFleetsRequest(params)
  10805. //
  10806. // err := req.Send()
  10807. // if err == nil { // resp is now filled
  10808. // fmt.Println(resp)
  10809. // }
  10810. //
  10811. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  10812. func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
  10813. op := &request.Operation{
  10814. Name: opDescribeFleets,
  10815. HTTPMethod: "POST",
  10816. HTTPPath: "/",
  10817. }
  10818. if input == nil {
  10819. input = &DescribeFleetsInput{}
  10820. }
  10821. output = &DescribeFleetsOutput{}
  10822. req = c.newRequest(op, input, output)
  10823. return
  10824. }
  10825. // DescribeFleets API operation for Amazon Elastic Compute Cloud.
  10826. //
  10827. // Describes one or more of your EC2 Fleets.
  10828. //
  10829. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10830. // with awserr.Error's Code and Message methods to get detailed information about
  10831. // the error.
  10832. //
  10833. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10834. // API operation DescribeFleets for usage and error information.
  10835. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
  10836. func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
  10837. req, out := c.DescribeFleetsRequest(input)
  10838. return out, req.Send()
  10839. }
  10840. // DescribeFleetsWithContext is the same as DescribeFleets with the addition of
  10841. // the ability to pass a context and additional request options.
  10842. //
  10843. // See DescribeFleets for details on how to use this API operation.
  10844. //
  10845. // The context must be non-nil and will be used for request cancellation. If
  10846. // the context is nil a panic will occur. In the future the SDK may create
  10847. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10848. // for more information on using Contexts.
  10849. func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
  10850. req, out := c.DescribeFleetsRequest(input)
  10851. req.SetContext(ctx)
  10852. req.ApplyOptions(opts...)
  10853. return out, req.Send()
  10854. }
  10855. const opDescribeFlowLogs = "DescribeFlowLogs"
  10856. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  10857. // client's request for the DescribeFlowLogs operation. The "output" return
  10858. // value will be populated with the request's response once the request completes
  10859. // successfully.
  10860. //
  10861. // Use "Send" method on the returned Request to send the API call to the service.
  10862. // the "output" return value is not valid until after Send returns without error.
  10863. //
  10864. // See DescribeFlowLogs for more information on using the DescribeFlowLogs
  10865. // API call, and error handling.
  10866. //
  10867. // This method is useful when you want to inject custom logic or configuration
  10868. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10869. //
  10870. //
  10871. // // Example sending a request using the DescribeFlowLogsRequest method.
  10872. // req, resp := client.DescribeFlowLogsRequest(params)
  10873. //
  10874. // err := req.Send()
  10875. // if err == nil { // resp is now filled
  10876. // fmt.Println(resp)
  10877. // }
  10878. //
  10879. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  10880. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  10881. op := &request.Operation{
  10882. Name: opDescribeFlowLogs,
  10883. HTTPMethod: "POST",
  10884. HTTPPath: "/",
  10885. }
  10886. if input == nil {
  10887. input = &DescribeFlowLogsInput{}
  10888. }
  10889. output = &DescribeFlowLogsOutput{}
  10890. req = c.newRequest(op, input, output)
  10891. return
  10892. }
  10893. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  10894. //
  10895. // Describes one or more flow logs. To view the information in your flow logs
  10896. // (the log streams for the network interfaces), you must use the CloudWatch
  10897. // Logs console or the CloudWatch Logs API.
  10898. //
  10899. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10900. // with awserr.Error's Code and Message methods to get detailed information about
  10901. // the error.
  10902. //
  10903. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10904. // API operation DescribeFlowLogs for usage and error information.
  10905. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  10906. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  10907. req, out := c.DescribeFlowLogsRequest(input)
  10908. return out, req.Send()
  10909. }
  10910. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  10911. // the ability to pass a context and additional request options.
  10912. //
  10913. // See DescribeFlowLogs for details on how to use this API operation.
  10914. //
  10915. // The context must be non-nil and will be used for request cancellation. If
  10916. // the context is nil a panic will occur. In the future the SDK may create
  10917. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10918. // for more information on using Contexts.
  10919. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  10920. req, out := c.DescribeFlowLogsRequest(input)
  10921. req.SetContext(ctx)
  10922. req.ApplyOptions(opts...)
  10923. return out, req.Send()
  10924. }
  10925. const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
  10926. // DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  10927. // client's request for the DescribeFpgaImageAttribute operation. The "output" return
  10928. // value will be populated with the request's response once the request completes
  10929. // successfully.
  10930. //
  10931. // Use "Send" method on the returned Request to send the API call to the service.
  10932. // the "output" return value is not valid until after Send returns without error.
  10933. //
  10934. // See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
  10935. // API call, and error handling.
  10936. //
  10937. // This method is useful when you want to inject custom logic or configuration
  10938. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  10939. //
  10940. //
  10941. // // Example sending a request using the DescribeFpgaImageAttributeRequest method.
  10942. // req, resp := client.DescribeFpgaImageAttributeRequest(params)
  10943. //
  10944. // err := req.Send()
  10945. // if err == nil { // resp is now filled
  10946. // fmt.Println(resp)
  10947. // }
  10948. //
  10949. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  10950. func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
  10951. op := &request.Operation{
  10952. Name: opDescribeFpgaImageAttribute,
  10953. HTTPMethod: "POST",
  10954. HTTPPath: "/",
  10955. }
  10956. if input == nil {
  10957. input = &DescribeFpgaImageAttributeInput{}
  10958. }
  10959. output = &DescribeFpgaImageAttributeOutput{}
  10960. req = c.newRequest(op, input, output)
  10961. return
  10962. }
  10963. // DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  10964. //
  10965. // Describes the specified attribute of the specified Amazon FPGA Image (AFI).
  10966. //
  10967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10968. // with awserr.Error's Code and Message methods to get detailed information about
  10969. // the error.
  10970. //
  10971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10972. // API operation DescribeFpgaImageAttribute for usage and error information.
  10973. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
  10974. func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
  10975. req, out := c.DescribeFpgaImageAttributeRequest(input)
  10976. return out, req.Send()
  10977. }
  10978. // DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
  10979. // the ability to pass a context and additional request options.
  10980. //
  10981. // See DescribeFpgaImageAttribute for details on how to use this API operation.
  10982. //
  10983. // The context must be non-nil and will be used for request cancellation. If
  10984. // the context is nil a panic will occur. In the future the SDK may create
  10985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10986. // for more information on using Contexts.
  10987. func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
  10988. req, out := c.DescribeFpgaImageAttributeRequest(input)
  10989. req.SetContext(ctx)
  10990. req.ApplyOptions(opts...)
  10991. return out, req.Send()
  10992. }
  10993. const opDescribeFpgaImages = "DescribeFpgaImages"
  10994. // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
  10995. // client's request for the DescribeFpgaImages operation. The "output" return
  10996. // value will be populated with the request's response once the request completes
  10997. // successfully.
  10998. //
  10999. // Use "Send" method on the returned Request to send the API call to the service.
  11000. // the "output" return value is not valid until after Send returns without error.
  11001. //
  11002. // See DescribeFpgaImages for more information on using the DescribeFpgaImages
  11003. // API call, and error handling.
  11004. //
  11005. // This method is useful when you want to inject custom logic or configuration
  11006. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11007. //
  11008. //
  11009. // // Example sending a request using the DescribeFpgaImagesRequest method.
  11010. // req, resp := client.DescribeFpgaImagesRequest(params)
  11011. //
  11012. // err := req.Send()
  11013. // if err == nil { // resp is now filled
  11014. // fmt.Println(resp)
  11015. // }
  11016. //
  11017. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  11018. func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
  11019. op := &request.Operation{
  11020. Name: opDescribeFpgaImages,
  11021. HTTPMethod: "POST",
  11022. HTTPPath: "/",
  11023. }
  11024. if input == nil {
  11025. input = &DescribeFpgaImagesInput{}
  11026. }
  11027. output = &DescribeFpgaImagesOutput{}
  11028. req = c.newRequest(op, input, output)
  11029. return
  11030. }
  11031. // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
  11032. //
  11033. // Describes one or more available Amazon FPGA Images (AFIs). These include
  11034. // public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
  11035. // for which you have load permissions.
  11036. //
  11037. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11038. // with awserr.Error's Code and Message methods to get detailed information about
  11039. // the error.
  11040. //
  11041. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11042. // API operation DescribeFpgaImages for usage and error information.
  11043. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  11044. func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
  11045. req, out := c.DescribeFpgaImagesRequest(input)
  11046. return out, req.Send()
  11047. }
  11048. // DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
  11049. // the ability to pass a context and additional request options.
  11050. //
  11051. // See DescribeFpgaImages for details on how to use this API operation.
  11052. //
  11053. // The context must be non-nil and will be used for request cancellation. If
  11054. // the context is nil a panic will occur. In the future the SDK may create
  11055. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11056. // for more information on using Contexts.
  11057. func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
  11058. req, out := c.DescribeFpgaImagesRequest(input)
  11059. req.SetContext(ctx)
  11060. req.ApplyOptions(opts...)
  11061. return out, req.Send()
  11062. }
  11063. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  11064. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  11065. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  11066. // value will be populated with the request's response once the request completes
  11067. // successfully.
  11068. //
  11069. // Use "Send" method on the returned Request to send the API call to the service.
  11070. // the "output" return value is not valid until after Send returns without error.
  11071. //
  11072. // See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
  11073. // API call, and error handling.
  11074. //
  11075. // This method is useful when you want to inject custom logic or configuration
  11076. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11077. //
  11078. //
  11079. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  11080. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  11081. //
  11082. // err := req.Send()
  11083. // if err == nil { // resp is now filled
  11084. // fmt.Println(resp)
  11085. // }
  11086. //
  11087. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  11088. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  11089. op := &request.Operation{
  11090. Name: opDescribeHostReservationOfferings,
  11091. HTTPMethod: "POST",
  11092. HTTPPath: "/",
  11093. }
  11094. if input == nil {
  11095. input = &DescribeHostReservationOfferingsInput{}
  11096. }
  11097. output = &DescribeHostReservationOfferingsOutput{}
  11098. req = c.newRequest(op, input, output)
  11099. return
  11100. }
  11101. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  11102. //
  11103. // Describes the Dedicated Host reservations that are available to purchase.
  11104. //
  11105. // The results describe all the Dedicated Host reservation offerings, including
  11106. // offerings that may not match the instance family and Region of your Dedicated
  11107. // Hosts. When purchasing an offering, ensure that the instance family and Region
  11108. // of the offering matches that of the Dedicated Hosts with which it is to be
  11109. // associated. For more information about supported instance types, see Dedicated
  11110. // Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  11111. // in the Amazon Elastic Compute Cloud User Guide.
  11112. //
  11113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11114. // with awserr.Error's Code and Message methods to get detailed information about
  11115. // the error.
  11116. //
  11117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11118. // API operation DescribeHostReservationOfferings for usage and error information.
  11119. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  11120. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  11121. req, out := c.DescribeHostReservationOfferingsRequest(input)
  11122. return out, req.Send()
  11123. }
  11124. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  11125. // the ability to pass a context and additional request options.
  11126. //
  11127. // See DescribeHostReservationOfferings for details on how to use this API operation.
  11128. //
  11129. // The context must be non-nil and will be used for request cancellation. If
  11130. // the context is nil a panic will occur. In the future the SDK may create
  11131. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11132. // for more information on using Contexts.
  11133. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  11134. req, out := c.DescribeHostReservationOfferingsRequest(input)
  11135. req.SetContext(ctx)
  11136. req.ApplyOptions(opts...)
  11137. return out, req.Send()
  11138. }
  11139. const opDescribeHostReservations = "DescribeHostReservations"
  11140. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  11141. // client's request for the DescribeHostReservations operation. The "output" return
  11142. // value will be populated with the request's response once the request completes
  11143. // successfully.
  11144. //
  11145. // Use "Send" method on the returned Request to send the API call to the service.
  11146. // the "output" return value is not valid until after Send returns without error.
  11147. //
  11148. // See DescribeHostReservations for more information on using the DescribeHostReservations
  11149. // API call, and error handling.
  11150. //
  11151. // This method is useful when you want to inject custom logic or configuration
  11152. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11153. //
  11154. //
  11155. // // Example sending a request using the DescribeHostReservationsRequest method.
  11156. // req, resp := client.DescribeHostReservationsRequest(params)
  11157. //
  11158. // err := req.Send()
  11159. // if err == nil { // resp is now filled
  11160. // fmt.Println(resp)
  11161. // }
  11162. //
  11163. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  11164. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  11165. op := &request.Operation{
  11166. Name: opDescribeHostReservations,
  11167. HTTPMethod: "POST",
  11168. HTTPPath: "/",
  11169. }
  11170. if input == nil {
  11171. input = &DescribeHostReservationsInput{}
  11172. }
  11173. output = &DescribeHostReservationsOutput{}
  11174. req = c.newRequest(op, input, output)
  11175. return
  11176. }
  11177. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  11178. //
  11179. // Describes reservations that are associated with Dedicated Hosts in your account.
  11180. //
  11181. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11182. // with awserr.Error's Code and Message methods to get detailed information about
  11183. // the error.
  11184. //
  11185. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11186. // API operation DescribeHostReservations for usage and error information.
  11187. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  11188. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  11189. req, out := c.DescribeHostReservationsRequest(input)
  11190. return out, req.Send()
  11191. }
  11192. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  11193. // the ability to pass a context and additional request options.
  11194. //
  11195. // See DescribeHostReservations for details on how to use this API operation.
  11196. //
  11197. // The context must be non-nil and will be used for request cancellation. If
  11198. // the context is nil a panic will occur. In the future the SDK may create
  11199. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11200. // for more information on using Contexts.
  11201. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  11202. req, out := c.DescribeHostReservationsRequest(input)
  11203. req.SetContext(ctx)
  11204. req.ApplyOptions(opts...)
  11205. return out, req.Send()
  11206. }
  11207. const opDescribeHosts = "DescribeHosts"
  11208. // DescribeHostsRequest generates a "aws/request.Request" representing the
  11209. // client's request for the DescribeHosts operation. The "output" return
  11210. // value will be populated with the request's response once the request completes
  11211. // successfully.
  11212. //
  11213. // Use "Send" method on the returned Request to send the API call to the service.
  11214. // the "output" return value is not valid until after Send returns without error.
  11215. //
  11216. // See DescribeHosts for more information on using the DescribeHosts
  11217. // API call, and error handling.
  11218. //
  11219. // This method is useful when you want to inject custom logic or configuration
  11220. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11221. //
  11222. //
  11223. // // Example sending a request using the DescribeHostsRequest method.
  11224. // req, resp := client.DescribeHostsRequest(params)
  11225. //
  11226. // err := req.Send()
  11227. // if err == nil { // resp is now filled
  11228. // fmt.Println(resp)
  11229. // }
  11230. //
  11231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  11232. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  11233. op := &request.Operation{
  11234. Name: opDescribeHosts,
  11235. HTTPMethod: "POST",
  11236. HTTPPath: "/",
  11237. }
  11238. if input == nil {
  11239. input = &DescribeHostsInput{}
  11240. }
  11241. output = &DescribeHostsOutput{}
  11242. req = c.newRequest(op, input, output)
  11243. return
  11244. }
  11245. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  11246. //
  11247. // Describes one or more of your Dedicated Hosts.
  11248. //
  11249. // The results describe only the Dedicated Hosts in the Region you're currently
  11250. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  11251. // Hosts that have recently been released are listed with the state released.
  11252. //
  11253. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11254. // with awserr.Error's Code and Message methods to get detailed information about
  11255. // the error.
  11256. //
  11257. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11258. // API operation DescribeHosts for usage and error information.
  11259. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  11260. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  11261. req, out := c.DescribeHostsRequest(input)
  11262. return out, req.Send()
  11263. }
  11264. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  11265. // the ability to pass a context and additional request options.
  11266. //
  11267. // See DescribeHosts for details on how to use this API operation.
  11268. //
  11269. // The context must be non-nil and will be used for request cancellation. If
  11270. // the context is nil a panic will occur. In the future the SDK may create
  11271. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11272. // for more information on using Contexts.
  11273. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  11274. req, out := c.DescribeHostsRequest(input)
  11275. req.SetContext(ctx)
  11276. req.ApplyOptions(opts...)
  11277. return out, req.Send()
  11278. }
  11279. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  11280. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  11281. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  11282. // value will be populated with the request's response once the request completes
  11283. // successfully.
  11284. //
  11285. // Use "Send" method on the returned Request to send the API call to the service.
  11286. // the "output" return value is not valid until after Send returns without error.
  11287. //
  11288. // See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
  11289. // API call, and error handling.
  11290. //
  11291. // This method is useful when you want to inject custom logic or configuration
  11292. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11293. //
  11294. //
  11295. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  11296. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  11297. //
  11298. // err := req.Send()
  11299. // if err == nil { // resp is now filled
  11300. // fmt.Println(resp)
  11301. // }
  11302. //
  11303. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  11304. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  11305. op := &request.Operation{
  11306. Name: opDescribeIamInstanceProfileAssociations,
  11307. HTTPMethod: "POST",
  11308. HTTPPath: "/",
  11309. }
  11310. if input == nil {
  11311. input = &DescribeIamInstanceProfileAssociationsInput{}
  11312. }
  11313. output = &DescribeIamInstanceProfileAssociationsOutput{}
  11314. req = c.newRequest(op, input, output)
  11315. return
  11316. }
  11317. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  11318. //
  11319. // Describes your IAM instance profile associations.
  11320. //
  11321. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11322. // with awserr.Error's Code and Message methods to get detailed information about
  11323. // the error.
  11324. //
  11325. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11326. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  11327. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  11328. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  11329. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  11330. return out, req.Send()
  11331. }
  11332. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  11333. // the ability to pass a context and additional request options.
  11334. //
  11335. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  11336. //
  11337. // The context must be non-nil and will be used for request cancellation. If
  11338. // the context is nil a panic will occur. In the future the SDK may create
  11339. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11340. // for more information on using Contexts.
  11341. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  11342. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  11343. req.SetContext(ctx)
  11344. req.ApplyOptions(opts...)
  11345. return out, req.Send()
  11346. }
  11347. const opDescribeIdFormat = "DescribeIdFormat"
  11348. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  11349. // client's request for the DescribeIdFormat operation. The "output" return
  11350. // value will be populated with the request's response once the request completes
  11351. // successfully.
  11352. //
  11353. // Use "Send" method on the returned Request to send the API call to the service.
  11354. // the "output" return value is not valid until after Send returns without error.
  11355. //
  11356. // See DescribeIdFormat for more information on using the DescribeIdFormat
  11357. // API call, and error handling.
  11358. //
  11359. // This method is useful when you want to inject custom logic or configuration
  11360. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11361. //
  11362. //
  11363. // // Example sending a request using the DescribeIdFormatRequest method.
  11364. // req, resp := client.DescribeIdFormatRequest(params)
  11365. //
  11366. // err := req.Send()
  11367. // if err == nil { // resp is now filled
  11368. // fmt.Println(resp)
  11369. // }
  11370. //
  11371. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  11372. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  11373. op := &request.Operation{
  11374. Name: opDescribeIdFormat,
  11375. HTTPMethod: "POST",
  11376. HTTPPath: "/",
  11377. }
  11378. if input == nil {
  11379. input = &DescribeIdFormatInput{}
  11380. }
  11381. output = &DescribeIdFormatOutput{}
  11382. req = c.newRequest(op, input, output)
  11383. return
  11384. }
  11385. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  11386. //
  11387. // Describes the ID format settings for your resources on a per-region basis,
  11388. // for example, to view which resource types are enabled for longer IDs. This
  11389. // request only returns information about resource types whose ID formats can
  11390. // be modified; it does not return information about other resource types.
  11391. //
  11392. // The following resource types support longer IDs: bundle | conversion-task
  11393. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  11394. // | export-task | flow-log | image | import-task | instance | internet-gateway
  11395. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  11396. // | prefix-list | reservation | route-table | route-table-association | security-group
  11397. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  11398. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  11399. //
  11400. // These settings apply to the IAM user who makes the request; they do not apply
  11401. // to the entire AWS account. By default, an IAM user defaults to the same settings
  11402. // as the root user, unless they explicitly override the settings by running
  11403. // the ModifyIdFormat command. Resources created with longer IDs are visible
  11404. // to all IAM users, regardless of these settings and provided that they have
  11405. // permission to use the relevant Describe command for the resource type.
  11406. //
  11407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11408. // with awserr.Error's Code and Message methods to get detailed information about
  11409. // the error.
  11410. //
  11411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11412. // API operation DescribeIdFormat for usage and error information.
  11413. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  11414. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  11415. req, out := c.DescribeIdFormatRequest(input)
  11416. return out, req.Send()
  11417. }
  11418. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  11419. // the ability to pass a context and additional request options.
  11420. //
  11421. // See DescribeIdFormat for details on how to use this API operation.
  11422. //
  11423. // The context must be non-nil and will be used for request cancellation. If
  11424. // the context is nil a panic will occur. In the future the SDK may create
  11425. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11426. // for more information on using Contexts.
  11427. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  11428. req, out := c.DescribeIdFormatRequest(input)
  11429. req.SetContext(ctx)
  11430. req.ApplyOptions(opts...)
  11431. return out, req.Send()
  11432. }
  11433. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  11434. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  11435. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  11436. // value will be populated with the request's response once the request completes
  11437. // successfully.
  11438. //
  11439. // Use "Send" method on the returned Request to send the API call to the service.
  11440. // the "output" return value is not valid until after Send returns without error.
  11441. //
  11442. // See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
  11443. // API call, and error handling.
  11444. //
  11445. // This method is useful when you want to inject custom logic or configuration
  11446. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11447. //
  11448. //
  11449. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  11450. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  11451. //
  11452. // err := req.Send()
  11453. // if err == nil { // resp is now filled
  11454. // fmt.Println(resp)
  11455. // }
  11456. //
  11457. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  11458. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  11459. op := &request.Operation{
  11460. Name: opDescribeIdentityIdFormat,
  11461. HTTPMethod: "POST",
  11462. HTTPPath: "/",
  11463. }
  11464. if input == nil {
  11465. input = &DescribeIdentityIdFormatInput{}
  11466. }
  11467. output = &DescribeIdentityIdFormatOutput{}
  11468. req = c.newRequest(op, input, output)
  11469. return
  11470. }
  11471. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  11472. //
  11473. // Describes the ID format settings for resources for the specified IAM user,
  11474. // IAM role, or root user. For example, you can view the resource types that
  11475. // are enabled for longer IDs. This request only returns information about resource
  11476. // types whose ID formats can be modified; it does not return information about
  11477. // other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  11478. // in the Amazon Elastic Compute Cloud User Guide.
  11479. //
  11480. // The following resource types support longer IDs: bundle | conversion-task
  11481. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  11482. // | export-task | flow-log | image | import-task | instance | internet-gateway
  11483. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  11484. // | prefix-list | reservation | route-table | route-table-association | security-group
  11485. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  11486. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  11487. //
  11488. // These settings apply to the principal specified in the request. They do not
  11489. // apply to the principal that makes the request.
  11490. //
  11491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11492. // with awserr.Error's Code and Message methods to get detailed information about
  11493. // the error.
  11494. //
  11495. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11496. // API operation DescribeIdentityIdFormat for usage and error information.
  11497. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  11498. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  11499. req, out := c.DescribeIdentityIdFormatRequest(input)
  11500. return out, req.Send()
  11501. }
  11502. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  11503. // the ability to pass a context and additional request options.
  11504. //
  11505. // See DescribeIdentityIdFormat for details on how to use this API operation.
  11506. //
  11507. // The context must be non-nil and will be used for request cancellation. If
  11508. // the context is nil a panic will occur. In the future the SDK may create
  11509. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11510. // for more information on using Contexts.
  11511. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  11512. req, out := c.DescribeIdentityIdFormatRequest(input)
  11513. req.SetContext(ctx)
  11514. req.ApplyOptions(opts...)
  11515. return out, req.Send()
  11516. }
  11517. const opDescribeImageAttribute = "DescribeImageAttribute"
  11518. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  11519. // client's request for the DescribeImageAttribute operation. The "output" return
  11520. // value will be populated with the request's response once the request completes
  11521. // successfully.
  11522. //
  11523. // Use "Send" method on the returned Request to send the API call to the service.
  11524. // the "output" return value is not valid until after Send returns without error.
  11525. //
  11526. // See DescribeImageAttribute for more information on using the DescribeImageAttribute
  11527. // API call, and error handling.
  11528. //
  11529. // This method is useful when you want to inject custom logic or configuration
  11530. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11531. //
  11532. //
  11533. // // Example sending a request using the DescribeImageAttributeRequest method.
  11534. // req, resp := client.DescribeImageAttributeRequest(params)
  11535. //
  11536. // err := req.Send()
  11537. // if err == nil { // resp is now filled
  11538. // fmt.Println(resp)
  11539. // }
  11540. //
  11541. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  11542. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  11543. op := &request.Operation{
  11544. Name: opDescribeImageAttribute,
  11545. HTTPMethod: "POST",
  11546. HTTPPath: "/",
  11547. }
  11548. if input == nil {
  11549. input = &DescribeImageAttributeInput{}
  11550. }
  11551. output = &DescribeImageAttributeOutput{}
  11552. req = c.newRequest(op, input, output)
  11553. return
  11554. }
  11555. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  11556. //
  11557. // Describes the specified attribute of the specified AMI. You can specify only
  11558. // one attribute at a time.
  11559. //
  11560. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11561. // with awserr.Error's Code and Message methods to get detailed information about
  11562. // the error.
  11563. //
  11564. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11565. // API operation DescribeImageAttribute for usage and error information.
  11566. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  11567. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  11568. req, out := c.DescribeImageAttributeRequest(input)
  11569. return out, req.Send()
  11570. }
  11571. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  11572. // the ability to pass a context and additional request options.
  11573. //
  11574. // See DescribeImageAttribute for details on how to use this API operation.
  11575. //
  11576. // The context must be non-nil and will be used for request cancellation. If
  11577. // the context is nil a panic will occur. In the future the SDK may create
  11578. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11579. // for more information on using Contexts.
  11580. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  11581. req, out := c.DescribeImageAttributeRequest(input)
  11582. req.SetContext(ctx)
  11583. req.ApplyOptions(opts...)
  11584. return out, req.Send()
  11585. }
  11586. const opDescribeImages = "DescribeImages"
  11587. // DescribeImagesRequest generates a "aws/request.Request" representing the
  11588. // client's request for the DescribeImages operation. The "output" return
  11589. // value will be populated with the request's response once the request completes
  11590. // successfully.
  11591. //
  11592. // Use "Send" method on the returned Request to send the API call to the service.
  11593. // the "output" return value is not valid until after Send returns without error.
  11594. //
  11595. // See DescribeImages for more information on using the DescribeImages
  11596. // API call, and error handling.
  11597. //
  11598. // This method is useful when you want to inject custom logic or configuration
  11599. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11600. //
  11601. //
  11602. // // Example sending a request using the DescribeImagesRequest method.
  11603. // req, resp := client.DescribeImagesRequest(params)
  11604. //
  11605. // err := req.Send()
  11606. // if err == nil { // resp is now filled
  11607. // fmt.Println(resp)
  11608. // }
  11609. //
  11610. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  11611. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  11612. op := &request.Operation{
  11613. Name: opDescribeImages,
  11614. HTTPMethod: "POST",
  11615. HTTPPath: "/",
  11616. }
  11617. if input == nil {
  11618. input = &DescribeImagesInput{}
  11619. }
  11620. output = &DescribeImagesOutput{}
  11621. req = c.newRequest(op, input, output)
  11622. return
  11623. }
  11624. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  11625. //
  11626. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  11627. // Images available to you include public images, private images that you own,
  11628. // and private images owned by other AWS accounts but for which you have explicit
  11629. // launch permissions.
  11630. //
  11631. // Deregistered images are included in the returned results for an unspecified
  11632. // interval after deregistration.
  11633. //
  11634. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11635. // with awserr.Error's Code and Message methods to get detailed information about
  11636. // the error.
  11637. //
  11638. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11639. // API operation DescribeImages for usage and error information.
  11640. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  11641. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  11642. req, out := c.DescribeImagesRequest(input)
  11643. return out, req.Send()
  11644. }
  11645. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  11646. // the ability to pass a context and additional request options.
  11647. //
  11648. // See DescribeImages for details on how to use this API operation.
  11649. //
  11650. // The context must be non-nil and will be used for request cancellation. If
  11651. // the context is nil a panic will occur. In the future the SDK may create
  11652. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11653. // for more information on using Contexts.
  11654. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  11655. req, out := c.DescribeImagesRequest(input)
  11656. req.SetContext(ctx)
  11657. req.ApplyOptions(opts...)
  11658. return out, req.Send()
  11659. }
  11660. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  11661. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  11662. // client's request for the DescribeImportImageTasks operation. The "output" return
  11663. // value will be populated with the request's response once the request completes
  11664. // successfully.
  11665. //
  11666. // Use "Send" method on the returned Request to send the API call to the service.
  11667. // the "output" return value is not valid until after Send returns without error.
  11668. //
  11669. // See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
  11670. // API call, and error handling.
  11671. //
  11672. // This method is useful when you want to inject custom logic or configuration
  11673. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11674. //
  11675. //
  11676. // // Example sending a request using the DescribeImportImageTasksRequest method.
  11677. // req, resp := client.DescribeImportImageTasksRequest(params)
  11678. //
  11679. // err := req.Send()
  11680. // if err == nil { // resp is now filled
  11681. // fmt.Println(resp)
  11682. // }
  11683. //
  11684. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  11685. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  11686. op := &request.Operation{
  11687. Name: opDescribeImportImageTasks,
  11688. HTTPMethod: "POST",
  11689. HTTPPath: "/",
  11690. }
  11691. if input == nil {
  11692. input = &DescribeImportImageTasksInput{}
  11693. }
  11694. output = &DescribeImportImageTasksOutput{}
  11695. req = c.newRequest(op, input, output)
  11696. return
  11697. }
  11698. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  11699. //
  11700. // Displays details about an import virtual machine or import snapshot tasks
  11701. // that are already created.
  11702. //
  11703. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11704. // with awserr.Error's Code and Message methods to get detailed information about
  11705. // the error.
  11706. //
  11707. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11708. // API operation DescribeImportImageTasks for usage and error information.
  11709. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  11710. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  11711. req, out := c.DescribeImportImageTasksRequest(input)
  11712. return out, req.Send()
  11713. }
  11714. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  11715. // the ability to pass a context and additional request options.
  11716. //
  11717. // See DescribeImportImageTasks for details on how to use this API operation.
  11718. //
  11719. // The context must be non-nil and will be used for request cancellation. If
  11720. // the context is nil a panic will occur. In the future the SDK may create
  11721. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11722. // for more information on using Contexts.
  11723. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  11724. req, out := c.DescribeImportImageTasksRequest(input)
  11725. req.SetContext(ctx)
  11726. req.ApplyOptions(opts...)
  11727. return out, req.Send()
  11728. }
  11729. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  11730. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  11731. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  11732. // value will be populated with the request's response once the request completes
  11733. // successfully.
  11734. //
  11735. // Use "Send" method on the returned Request to send the API call to the service.
  11736. // the "output" return value is not valid until after Send returns without error.
  11737. //
  11738. // See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
  11739. // API call, and error handling.
  11740. //
  11741. // This method is useful when you want to inject custom logic or configuration
  11742. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11743. //
  11744. //
  11745. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  11746. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  11747. //
  11748. // err := req.Send()
  11749. // if err == nil { // resp is now filled
  11750. // fmt.Println(resp)
  11751. // }
  11752. //
  11753. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  11754. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  11755. op := &request.Operation{
  11756. Name: opDescribeImportSnapshotTasks,
  11757. HTTPMethod: "POST",
  11758. HTTPPath: "/",
  11759. }
  11760. if input == nil {
  11761. input = &DescribeImportSnapshotTasksInput{}
  11762. }
  11763. output = &DescribeImportSnapshotTasksOutput{}
  11764. req = c.newRequest(op, input, output)
  11765. return
  11766. }
  11767. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  11768. //
  11769. // Describes your import snapshot tasks.
  11770. //
  11771. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11772. // with awserr.Error's Code and Message methods to get detailed information about
  11773. // the error.
  11774. //
  11775. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11776. // API operation DescribeImportSnapshotTasks for usage and error information.
  11777. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  11778. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  11779. req, out := c.DescribeImportSnapshotTasksRequest(input)
  11780. return out, req.Send()
  11781. }
  11782. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  11783. // the ability to pass a context and additional request options.
  11784. //
  11785. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  11786. //
  11787. // The context must be non-nil and will be used for request cancellation. If
  11788. // the context is nil a panic will occur. In the future the SDK may create
  11789. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11790. // for more information on using Contexts.
  11791. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  11792. req, out := c.DescribeImportSnapshotTasksRequest(input)
  11793. req.SetContext(ctx)
  11794. req.ApplyOptions(opts...)
  11795. return out, req.Send()
  11796. }
  11797. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  11798. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  11799. // client's request for the DescribeInstanceAttribute operation. The "output" return
  11800. // value will be populated with the request's response once the request completes
  11801. // successfully.
  11802. //
  11803. // Use "Send" method on the returned Request to send the API call to the service.
  11804. // the "output" return value is not valid until after Send returns without error.
  11805. //
  11806. // See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
  11807. // API call, and error handling.
  11808. //
  11809. // This method is useful when you want to inject custom logic or configuration
  11810. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11811. //
  11812. //
  11813. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  11814. // req, resp := client.DescribeInstanceAttributeRequest(params)
  11815. //
  11816. // err := req.Send()
  11817. // if err == nil { // resp is now filled
  11818. // fmt.Println(resp)
  11819. // }
  11820. //
  11821. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  11822. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  11823. op := &request.Operation{
  11824. Name: opDescribeInstanceAttribute,
  11825. HTTPMethod: "POST",
  11826. HTTPPath: "/",
  11827. }
  11828. if input == nil {
  11829. input = &DescribeInstanceAttributeInput{}
  11830. }
  11831. output = &DescribeInstanceAttributeOutput{}
  11832. req = c.newRequest(op, input, output)
  11833. return
  11834. }
  11835. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  11836. //
  11837. // Describes the specified attribute of the specified instance. You can specify
  11838. // only one attribute at a time. Valid attribute values are: instanceType |
  11839. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  11840. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  11841. // groupSet | ebsOptimized | sriovNetSupport
  11842. //
  11843. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11844. // with awserr.Error's Code and Message methods to get detailed information about
  11845. // the error.
  11846. //
  11847. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11848. // API operation DescribeInstanceAttribute for usage and error information.
  11849. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  11850. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  11851. req, out := c.DescribeInstanceAttributeRequest(input)
  11852. return out, req.Send()
  11853. }
  11854. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  11855. // the ability to pass a context and additional request options.
  11856. //
  11857. // See DescribeInstanceAttribute for details on how to use this API operation.
  11858. //
  11859. // The context must be non-nil and will be used for request cancellation. If
  11860. // the context is nil a panic will occur. In the future the SDK may create
  11861. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11862. // for more information on using Contexts.
  11863. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  11864. req, out := c.DescribeInstanceAttributeRequest(input)
  11865. req.SetContext(ctx)
  11866. req.ApplyOptions(opts...)
  11867. return out, req.Send()
  11868. }
  11869. const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
  11870. // DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
  11871. // client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
  11872. // value will be populated with the request's response once the request completes
  11873. // successfully.
  11874. //
  11875. // Use "Send" method on the returned Request to send the API call to the service.
  11876. // the "output" return value is not valid until after Send returns without error.
  11877. //
  11878. // See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
  11879. // API call, and error handling.
  11880. //
  11881. // This method is useful when you want to inject custom logic or configuration
  11882. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11883. //
  11884. //
  11885. // // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
  11886. // req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
  11887. //
  11888. // err := req.Send()
  11889. // if err == nil { // resp is now filled
  11890. // fmt.Println(resp)
  11891. // }
  11892. //
  11893. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  11894. func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
  11895. op := &request.Operation{
  11896. Name: opDescribeInstanceCreditSpecifications,
  11897. HTTPMethod: "POST",
  11898. HTTPPath: "/",
  11899. }
  11900. if input == nil {
  11901. input = &DescribeInstanceCreditSpecificationsInput{}
  11902. }
  11903. output = &DescribeInstanceCreditSpecificationsOutput{}
  11904. req = c.newRequest(op, input, output)
  11905. return
  11906. }
  11907. // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
  11908. //
  11909. // Describes the credit option for CPU usage of one or more of your T2 or T3
  11910. // instances. The credit options are standard and unlimited.
  11911. //
  11912. // If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances
  11913. // with the unlimited credit option, as well as instances that were previously
  11914. // configured as T2 or T3 with the unlimited credit option. For example, if
  11915. // you resize a T2 instance, while it is configured as unlimited, to an M4 instance,
  11916. // Amazon EC2 returns the M4 instance.
  11917. //
  11918. // If you specify one or more instance IDs, Amazon EC2 returns the credit option
  11919. // (standard or unlimited) of those instances. If you specify an instance ID
  11920. // that is not valid, such as an instance that is not a T2 or T3 instance, an
  11921. // error is returned.
  11922. //
  11923. // Recently terminated instances might appear in the returned results. This
  11924. // interval is usually less than one hour.
  11925. //
  11926. // If an Availability Zone is experiencing a service disruption and you specify
  11927. // instance IDs in the affected zone, or do not specify any instance IDs at
  11928. // all, the call fails. If you specify only instance IDs in an unaffected zone,
  11929. // the call works normally.
  11930. //
  11931. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  11932. // in the Amazon Elastic Compute Cloud User Guide.
  11933. //
  11934. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11935. // with awserr.Error's Code and Message methods to get detailed information about
  11936. // the error.
  11937. //
  11938. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11939. // API operation DescribeInstanceCreditSpecifications for usage and error information.
  11940. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
  11941. func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
  11942. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  11943. return out, req.Send()
  11944. }
  11945. // DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
  11946. // the ability to pass a context and additional request options.
  11947. //
  11948. // See DescribeInstanceCreditSpecifications for details on how to use this API operation.
  11949. //
  11950. // The context must be non-nil and will be used for request cancellation. If
  11951. // the context is nil a panic will occur. In the future the SDK may create
  11952. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11953. // for more information on using Contexts.
  11954. func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
  11955. req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
  11956. req.SetContext(ctx)
  11957. req.ApplyOptions(opts...)
  11958. return out, req.Send()
  11959. }
  11960. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  11961. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  11962. // client's request for the DescribeInstanceStatus operation. The "output" return
  11963. // value will be populated with the request's response once the request completes
  11964. // successfully.
  11965. //
  11966. // Use "Send" method on the returned Request to send the API call to the service.
  11967. // the "output" return value is not valid until after Send returns without error.
  11968. //
  11969. // See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
  11970. // API call, and error handling.
  11971. //
  11972. // This method is useful when you want to inject custom logic or configuration
  11973. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  11974. //
  11975. //
  11976. // // Example sending a request using the DescribeInstanceStatusRequest method.
  11977. // req, resp := client.DescribeInstanceStatusRequest(params)
  11978. //
  11979. // err := req.Send()
  11980. // if err == nil { // resp is now filled
  11981. // fmt.Println(resp)
  11982. // }
  11983. //
  11984. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  11985. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  11986. op := &request.Operation{
  11987. Name: opDescribeInstanceStatus,
  11988. HTTPMethod: "POST",
  11989. HTTPPath: "/",
  11990. Paginator: &request.Paginator{
  11991. InputTokens: []string{"NextToken"},
  11992. OutputTokens: []string{"NextToken"},
  11993. LimitToken: "MaxResults",
  11994. TruncationToken: "",
  11995. },
  11996. }
  11997. if input == nil {
  11998. input = &DescribeInstanceStatusInput{}
  11999. }
  12000. output = &DescribeInstanceStatusOutput{}
  12001. req = c.newRequest(op, input, output)
  12002. return
  12003. }
  12004. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  12005. //
  12006. // Describes the status of one or more instances. By default, only running instances
  12007. // are described, unless you specifically indicate to return the status of all
  12008. // instances.
  12009. //
  12010. // Instance status includes the following components:
  12011. //
  12012. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  12013. // to identify hardware and software issues. For more information, see Status
  12014. // Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  12015. // and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  12016. // in the Amazon Elastic Compute Cloud User Guide.
  12017. //
  12018. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  12019. // or terminate) for your instances related to hardware issues, software
  12020. // updates, or system maintenance. For more information, see Scheduled Events
  12021. // for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  12022. // in the Amazon Elastic Compute Cloud User Guide.
  12023. //
  12024. // * Instance state - You can manage your instances from the moment you launch
  12025. // them through their termination. For more information, see Instance Lifecycle
  12026. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  12027. // in the Amazon Elastic Compute Cloud User Guide.
  12028. //
  12029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12030. // with awserr.Error's Code and Message methods to get detailed information about
  12031. // the error.
  12032. //
  12033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12034. // API operation DescribeInstanceStatus for usage and error information.
  12035. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  12036. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  12037. req, out := c.DescribeInstanceStatusRequest(input)
  12038. return out, req.Send()
  12039. }
  12040. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  12041. // the ability to pass a context and additional request options.
  12042. //
  12043. // See DescribeInstanceStatus for details on how to use this API operation.
  12044. //
  12045. // The context must be non-nil and will be used for request cancellation. If
  12046. // the context is nil a panic will occur. In the future the SDK may create
  12047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12048. // for more information on using Contexts.
  12049. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  12050. req, out := c.DescribeInstanceStatusRequest(input)
  12051. req.SetContext(ctx)
  12052. req.ApplyOptions(opts...)
  12053. return out, req.Send()
  12054. }
  12055. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  12056. // calling the "fn" function with the response data for each page. To stop
  12057. // iterating, return false from the fn function.
  12058. //
  12059. // See DescribeInstanceStatus method for more information on how to use this operation.
  12060. //
  12061. // Note: This operation can generate multiple requests to a service.
  12062. //
  12063. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  12064. // pageNum := 0
  12065. // err := client.DescribeInstanceStatusPages(params,
  12066. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  12067. // pageNum++
  12068. // fmt.Println(page)
  12069. // return pageNum <= 3
  12070. // })
  12071. //
  12072. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  12073. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  12074. }
  12075. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  12076. // it takes a Context and allows setting request options on the pages.
  12077. //
  12078. // The context must be non-nil and will be used for request cancellation. If
  12079. // the context is nil a panic will occur. In the future the SDK may create
  12080. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12081. // for more information on using Contexts.
  12082. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  12083. p := request.Pagination{
  12084. NewRequest: func() (*request.Request, error) {
  12085. var inCpy *DescribeInstanceStatusInput
  12086. if input != nil {
  12087. tmp := *input
  12088. inCpy = &tmp
  12089. }
  12090. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  12091. req.SetContext(ctx)
  12092. req.ApplyOptions(opts...)
  12093. return req, nil
  12094. },
  12095. }
  12096. cont := true
  12097. for p.Next() && cont {
  12098. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  12099. }
  12100. return p.Err()
  12101. }
  12102. const opDescribeInstances = "DescribeInstances"
  12103. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  12104. // client's request for the DescribeInstances operation. The "output" return
  12105. // value will be populated with the request's response once the request completes
  12106. // successfully.
  12107. //
  12108. // Use "Send" method on the returned Request to send the API call to the service.
  12109. // the "output" return value is not valid until after Send returns without error.
  12110. //
  12111. // See DescribeInstances for more information on using the DescribeInstances
  12112. // API call, and error handling.
  12113. //
  12114. // This method is useful when you want to inject custom logic or configuration
  12115. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12116. //
  12117. //
  12118. // // Example sending a request using the DescribeInstancesRequest method.
  12119. // req, resp := client.DescribeInstancesRequest(params)
  12120. //
  12121. // err := req.Send()
  12122. // if err == nil { // resp is now filled
  12123. // fmt.Println(resp)
  12124. // }
  12125. //
  12126. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  12127. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  12128. op := &request.Operation{
  12129. Name: opDescribeInstances,
  12130. HTTPMethod: "POST",
  12131. HTTPPath: "/",
  12132. Paginator: &request.Paginator{
  12133. InputTokens: []string{"NextToken"},
  12134. OutputTokens: []string{"NextToken"},
  12135. LimitToken: "MaxResults",
  12136. TruncationToken: "",
  12137. },
  12138. }
  12139. if input == nil {
  12140. input = &DescribeInstancesInput{}
  12141. }
  12142. output = &DescribeInstancesOutput{}
  12143. req = c.newRequest(op, input, output)
  12144. return
  12145. }
  12146. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  12147. //
  12148. // Describes one or more of your instances.
  12149. //
  12150. // If you specify one or more instance IDs, Amazon EC2 returns information for
  12151. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  12152. // for all relevant instances. If you specify an instance ID that is not valid,
  12153. // an error is returned. If you specify an instance that you do not own, it
  12154. // is not included in the returned results.
  12155. //
  12156. // Recently terminated instances might appear in the returned results. This
  12157. // interval is usually less than one hour.
  12158. //
  12159. // If you describe instances in the rare case where an Availability Zone is
  12160. // experiencing a service disruption and you specify instance IDs that are in
  12161. // the affected zone, or do not specify any instance IDs at all, the call fails.
  12162. // If you describe instances and specify only instance IDs that are in an unaffected
  12163. // zone, the call works normally.
  12164. //
  12165. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12166. // with awserr.Error's Code and Message methods to get detailed information about
  12167. // the error.
  12168. //
  12169. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12170. // API operation DescribeInstances for usage and error information.
  12171. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  12172. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  12173. req, out := c.DescribeInstancesRequest(input)
  12174. return out, req.Send()
  12175. }
  12176. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  12177. // the ability to pass a context and additional request options.
  12178. //
  12179. // See DescribeInstances for details on how to use this API operation.
  12180. //
  12181. // The context must be non-nil and will be used for request cancellation. If
  12182. // the context is nil a panic will occur. In the future the SDK may create
  12183. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12184. // for more information on using Contexts.
  12185. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  12186. req, out := c.DescribeInstancesRequest(input)
  12187. req.SetContext(ctx)
  12188. req.ApplyOptions(opts...)
  12189. return out, req.Send()
  12190. }
  12191. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  12192. // calling the "fn" function with the response data for each page. To stop
  12193. // iterating, return false from the fn function.
  12194. //
  12195. // See DescribeInstances method for more information on how to use this operation.
  12196. //
  12197. // Note: This operation can generate multiple requests to a service.
  12198. //
  12199. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  12200. // pageNum := 0
  12201. // err := client.DescribeInstancesPages(params,
  12202. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  12203. // pageNum++
  12204. // fmt.Println(page)
  12205. // return pageNum <= 3
  12206. // })
  12207. //
  12208. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  12209. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  12210. }
  12211. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  12212. // it takes a Context and allows setting request options on the pages.
  12213. //
  12214. // The context must be non-nil and will be used for request cancellation. If
  12215. // the context is nil a panic will occur. In the future the SDK may create
  12216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12217. // for more information on using Contexts.
  12218. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  12219. p := request.Pagination{
  12220. NewRequest: func() (*request.Request, error) {
  12221. var inCpy *DescribeInstancesInput
  12222. if input != nil {
  12223. tmp := *input
  12224. inCpy = &tmp
  12225. }
  12226. req, _ := c.DescribeInstancesRequest(inCpy)
  12227. req.SetContext(ctx)
  12228. req.ApplyOptions(opts...)
  12229. return req, nil
  12230. },
  12231. }
  12232. cont := true
  12233. for p.Next() && cont {
  12234. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  12235. }
  12236. return p.Err()
  12237. }
  12238. const opDescribeInternetGateways = "DescribeInternetGateways"
  12239. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  12240. // client's request for the DescribeInternetGateways operation. The "output" return
  12241. // value will be populated with the request's response once the request completes
  12242. // successfully.
  12243. //
  12244. // Use "Send" method on the returned Request to send the API call to the service.
  12245. // the "output" return value is not valid until after Send returns without error.
  12246. //
  12247. // See DescribeInternetGateways for more information on using the DescribeInternetGateways
  12248. // API call, and error handling.
  12249. //
  12250. // This method is useful when you want to inject custom logic or configuration
  12251. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12252. //
  12253. //
  12254. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  12255. // req, resp := client.DescribeInternetGatewaysRequest(params)
  12256. //
  12257. // err := req.Send()
  12258. // if err == nil { // resp is now filled
  12259. // fmt.Println(resp)
  12260. // }
  12261. //
  12262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  12263. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  12264. op := &request.Operation{
  12265. Name: opDescribeInternetGateways,
  12266. HTTPMethod: "POST",
  12267. HTTPPath: "/",
  12268. Paginator: &request.Paginator{
  12269. InputTokens: []string{"NextToken"},
  12270. OutputTokens: []string{"NextToken"},
  12271. LimitToken: "MaxResults",
  12272. TruncationToken: "",
  12273. },
  12274. }
  12275. if input == nil {
  12276. input = &DescribeInternetGatewaysInput{}
  12277. }
  12278. output = &DescribeInternetGatewaysOutput{}
  12279. req = c.newRequest(op, input, output)
  12280. return
  12281. }
  12282. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  12283. //
  12284. // Describes one or more of your internet gateways.
  12285. //
  12286. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12287. // with awserr.Error's Code and Message methods to get detailed information about
  12288. // the error.
  12289. //
  12290. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12291. // API operation DescribeInternetGateways for usage and error information.
  12292. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  12293. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  12294. req, out := c.DescribeInternetGatewaysRequest(input)
  12295. return out, req.Send()
  12296. }
  12297. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  12298. // the ability to pass a context and additional request options.
  12299. //
  12300. // See DescribeInternetGateways for details on how to use this API operation.
  12301. //
  12302. // The context must be non-nil and will be used for request cancellation. If
  12303. // the context is nil a panic will occur. In the future the SDK may create
  12304. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12305. // for more information on using Contexts.
  12306. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  12307. req, out := c.DescribeInternetGatewaysRequest(input)
  12308. req.SetContext(ctx)
  12309. req.ApplyOptions(opts...)
  12310. return out, req.Send()
  12311. }
  12312. // DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
  12313. // calling the "fn" function with the response data for each page. To stop
  12314. // iterating, return false from the fn function.
  12315. //
  12316. // See DescribeInternetGateways method for more information on how to use this operation.
  12317. //
  12318. // Note: This operation can generate multiple requests to a service.
  12319. //
  12320. // // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
  12321. // pageNum := 0
  12322. // err := client.DescribeInternetGatewaysPages(params,
  12323. // func(page *DescribeInternetGatewaysOutput, lastPage bool) bool {
  12324. // pageNum++
  12325. // fmt.Println(page)
  12326. // return pageNum <= 3
  12327. // })
  12328. //
  12329. func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
  12330. return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  12331. }
  12332. // DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
  12333. // it takes a Context and allows setting request options on the pages.
  12334. //
  12335. // The context must be non-nil and will be used for request cancellation. If
  12336. // the context is nil a panic will occur. In the future the SDK may create
  12337. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12338. // for more information on using Contexts.
  12339. func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
  12340. p := request.Pagination{
  12341. NewRequest: func() (*request.Request, error) {
  12342. var inCpy *DescribeInternetGatewaysInput
  12343. if input != nil {
  12344. tmp := *input
  12345. inCpy = &tmp
  12346. }
  12347. req, _ := c.DescribeInternetGatewaysRequest(inCpy)
  12348. req.SetContext(ctx)
  12349. req.ApplyOptions(opts...)
  12350. return req, nil
  12351. },
  12352. }
  12353. cont := true
  12354. for p.Next() && cont {
  12355. cont = fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage())
  12356. }
  12357. return p.Err()
  12358. }
  12359. const opDescribeKeyPairs = "DescribeKeyPairs"
  12360. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  12361. // client's request for the DescribeKeyPairs operation. The "output" return
  12362. // value will be populated with the request's response once the request completes
  12363. // successfully.
  12364. //
  12365. // Use "Send" method on the returned Request to send the API call to the service.
  12366. // the "output" return value is not valid until after Send returns without error.
  12367. //
  12368. // See DescribeKeyPairs for more information on using the DescribeKeyPairs
  12369. // API call, and error handling.
  12370. //
  12371. // This method is useful when you want to inject custom logic or configuration
  12372. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12373. //
  12374. //
  12375. // // Example sending a request using the DescribeKeyPairsRequest method.
  12376. // req, resp := client.DescribeKeyPairsRequest(params)
  12377. //
  12378. // err := req.Send()
  12379. // if err == nil { // resp is now filled
  12380. // fmt.Println(resp)
  12381. // }
  12382. //
  12383. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  12384. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  12385. op := &request.Operation{
  12386. Name: opDescribeKeyPairs,
  12387. HTTPMethod: "POST",
  12388. HTTPPath: "/",
  12389. }
  12390. if input == nil {
  12391. input = &DescribeKeyPairsInput{}
  12392. }
  12393. output = &DescribeKeyPairsOutput{}
  12394. req = c.newRequest(op, input, output)
  12395. return
  12396. }
  12397. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  12398. //
  12399. // Describes one or more of your key pairs.
  12400. //
  12401. // For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  12402. // in the Amazon Elastic Compute Cloud User Guide.
  12403. //
  12404. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12405. // with awserr.Error's Code and Message methods to get detailed information about
  12406. // the error.
  12407. //
  12408. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12409. // API operation DescribeKeyPairs for usage and error information.
  12410. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  12411. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  12412. req, out := c.DescribeKeyPairsRequest(input)
  12413. return out, req.Send()
  12414. }
  12415. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  12416. // the ability to pass a context and additional request options.
  12417. //
  12418. // See DescribeKeyPairs for details on how to use this API operation.
  12419. //
  12420. // The context must be non-nil and will be used for request cancellation. If
  12421. // the context is nil a panic will occur. In the future the SDK may create
  12422. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12423. // for more information on using Contexts.
  12424. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  12425. req, out := c.DescribeKeyPairsRequest(input)
  12426. req.SetContext(ctx)
  12427. req.ApplyOptions(opts...)
  12428. return out, req.Send()
  12429. }
  12430. const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
  12431. // DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
  12432. // client's request for the DescribeLaunchTemplateVersions operation. The "output" return
  12433. // value will be populated with the request's response once the request completes
  12434. // successfully.
  12435. //
  12436. // Use "Send" method on the returned Request to send the API call to the service.
  12437. // the "output" return value is not valid until after Send returns without error.
  12438. //
  12439. // See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
  12440. // API call, and error handling.
  12441. //
  12442. // This method is useful when you want to inject custom logic or configuration
  12443. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12444. //
  12445. //
  12446. // // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
  12447. // req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
  12448. //
  12449. // err := req.Send()
  12450. // if err == nil { // resp is now filled
  12451. // fmt.Println(resp)
  12452. // }
  12453. //
  12454. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  12455. func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
  12456. op := &request.Operation{
  12457. Name: opDescribeLaunchTemplateVersions,
  12458. HTTPMethod: "POST",
  12459. HTTPPath: "/",
  12460. }
  12461. if input == nil {
  12462. input = &DescribeLaunchTemplateVersionsInput{}
  12463. }
  12464. output = &DescribeLaunchTemplateVersionsOutput{}
  12465. req = c.newRequest(op, input, output)
  12466. return
  12467. }
  12468. // DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
  12469. //
  12470. // Describes one or more versions of a specified launch template. You can describe
  12471. // all versions, individual versions, or a range of versions.
  12472. //
  12473. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12474. // with awserr.Error's Code and Message methods to get detailed information about
  12475. // the error.
  12476. //
  12477. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12478. // API operation DescribeLaunchTemplateVersions for usage and error information.
  12479. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
  12480. func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
  12481. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  12482. return out, req.Send()
  12483. }
  12484. // DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
  12485. // the ability to pass a context and additional request options.
  12486. //
  12487. // See DescribeLaunchTemplateVersions for details on how to use this API operation.
  12488. //
  12489. // The context must be non-nil and will be used for request cancellation. If
  12490. // the context is nil a panic will occur. In the future the SDK may create
  12491. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12492. // for more information on using Contexts.
  12493. func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
  12494. req, out := c.DescribeLaunchTemplateVersionsRequest(input)
  12495. req.SetContext(ctx)
  12496. req.ApplyOptions(opts...)
  12497. return out, req.Send()
  12498. }
  12499. const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
  12500. // DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
  12501. // client's request for the DescribeLaunchTemplates operation. The "output" return
  12502. // value will be populated with the request's response once the request completes
  12503. // successfully.
  12504. //
  12505. // Use "Send" method on the returned Request to send the API call to the service.
  12506. // the "output" return value is not valid until after Send returns without error.
  12507. //
  12508. // See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
  12509. // API call, and error handling.
  12510. //
  12511. // This method is useful when you want to inject custom logic or configuration
  12512. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12513. //
  12514. //
  12515. // // Example sending a request using the DescribeLaunchTemplatesRequest method.
  12516. // req, resp := client.DescribeLaunchTemplatesRequest(params)
  12517. //
  12518. // err := req.Send()
  12519. // if err == nil { // resp is now filled
  12520. // fmt.Println(resp)
  12521. // }
  12522. //
  12523. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  12524. func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
  12525. op := &request.Operation{
  12526. Name: opDescribeLaunchTemplates,
  12527. HTTPMethod: "POST",
  12528. HTTPPath: "/",
  12529. }
  12530. if input == nil {
  12531. input = &DescribeLaunchTemplatesInput{}
  12532. }
  12533. output = &DescribeLaunchTemplatesOutput{}
  12534. req = c.newRequest(op, input, output)
  12535. return
  12536. }
  12537. // DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
  12538. //
  12539. // Describes one or more launch templates.
  12540. //
  12541. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12542. // with awserr.Error's Code and Message methods to get detailed information about
  12543. // the error.
  12544. //
  12545. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12546. // API operation DescribeLaunchTemplates for usage and error information.
  12547. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
  12548. func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
  12549. req, out := c.DescribeLaunchTemplatesRequest(input)
  12550. return out, req.Send()
  12551. }
  12552. // DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
  12553. // the ability to pass a context and additional request options.
  12554. //
  12555. // See DescribeLaunchTemplates for details on how to use this API operation.
  12556. //
  12557. // The context must be non-nil and will be used for request cancellation. If
  12558. // the context is nil a panic will occur. In the future the SDK may create
  12559. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12560. // for more information on using Contexts.
  12561. func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
  12562. req, out := c.DescribeLaunchTemplatesRequest(input)
  12563. req.SetContext(ctx)
  12564. req.ApplyOptions(opts...)
  12565. return out, req.Send()
  12566. }
  12567. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  12568. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  12569. // client's request for the DescribeMovingAddresses operation. The "output" return
  12570. // value will be populated with the request's response once the request completes
  12571. // successfully.
  12572. //
  12573. // Use "Send" method on the returned Request to send the API call to the service.
  12574. // the "output" return value is not valid until after Send returns without error.
  12575. //
  12576. // See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
  12577. // API call, and error handling.
  12578. //
  12579. // This method is useful when you want to inject custom logic or configuration
  12580. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12581. //
  12582. //
  12583. // // Example sending a request using the DescribeMovingAddressesRequest method.
  12584. // req, resp := client.DescribeMovingAddressesRequest(params)
  12585. //
  12586. // err := req.Send()
  12587. // if err == nil { // resp is now filled
  12588. // fmt.Println(resp)
  12589. // }
  12590. //
  12591. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  12592. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  12593. op := &request.Operation{
  12594. Name: opDescribeMovingAddresses,
  12595. HTTPMethod: "POST",
  12596. HTTPPath: "/",
  12597. }
  12598. if input == nil {
  12599. input = &DescribeMovingAddressesInput{}
  12600. }
  12601. output = &DescribeMovingAddressesOutput{}
  12602. req = c.newRequest(op, input, output)
  12603. return
  12604. }
  12605. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  12606. //
  12607. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  12608. // or that are being restored to the EC2-Classic platform. This request does
  12609. // not return information about any other Elastic IP addresses in your account.
  12610. //
  12611. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12612. // with awserr.Error's Code and Message methods to get detailed information about
  12613. // the error.
  12614. //
  12615. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12616. // API operation DescribeMovingAddresses for usage and error information.
  12617. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  12618. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  12619. req, out := c.DescribeMovingAddressesRequest(input)
  12620. return out, req.Send()
  12621. }
  12622. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  12623. // the ability to pass a context and additional request options.
  12624. //
  12625. // See DescribeMovingAddresses for details on how to use this API operation.
  12626. //
  12627. // The context must be non-nil and will be used for request cancellation. If
  12628. // the context is nil a panic will occur. In the future the SDK may create
  12629. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12630. // for more information on using Contexts.
  12631. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  12632. req, out := c.DescribeMovingAddressesRequest(input)
  12633. req.SetContext(ctx)
  12634. req.ApplyOptions(opts...)
  12635. return out, req.Send()
  12636. }
  12637. const opDescribeNatGateways = "DescribeNatGateways"
  12638. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  12639. // client's request for the DescribeNatGateways operation. The "output" return
  12640. // value will be populated with the request's response once the request completes
  12641. // successfully.
  12642. //
  12643. // Use "Send" method on the returned Request to send the API call to the service.
  12644. // the "output" return value is not valid until after Send returns without error.
  12645. //
  12646. // See DescribeNatGateways for more information on using the DescribeNatGateways
  12647. // API call, and error handling.
  12648. //
  12649. // This method is useful when you want to inject custom logic or configuration
  12650. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12651. //
  12652. //
  12653. // // Example sending a request using the DescribeNatGatewaysRequest method.
  12654. // req, resp := client.DescribeNatGatewaysRequest(params)
  12655. //
  12656. // err := req.Send()
  12657. // if err == nil { // resp is now filled
  12658. // fmt.Println(resp)
  12659. // }
  12660. //
  12661. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  12662. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  12663. op := &request.Operation{
  12664. Name: opDescribeNatGateways,
  12665. HTTPMethod: "POST",
  12666. HTTPPath: "/",
  12667. Paginator: &request.Paginator{
  12668. InputTokens: []string{"NextToken"},
  12669. OutputTokens: []string{"NextToken"},
  12670. LimitToken: "MaxResults",
  12671. TruncationToken: "",
  12672. },
  12673. }
  12674. if input == nil {
  12675. input = &DescribeNatGatewaysInput{}
  12676. }
  12677. output = &DescribeNatGatewaysOutput{}
  12678. req = c.newRequest(op, input, output)
  12679. return
  12680. }
  12681. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  12682. //
  12683. // Describes one or more of your NAT gateways.
  12684. //
  12685. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12686. // with awserr.Error's Code and Message methods to get detailed information about
  12687. // the error.
  12688. //
  12689. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12690. // API operation DescribeNatGateways for usage and error information.
  12691. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  12692. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  12693. req, out := c.DescribeNatGatewaysRequest(input)
  12694. return out, req.Send()
  12695. }
  12696. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  12697. // the ability to pass a context and additional request options.
  12698. //
  12699. // See DescribeNatGateways for details on how to use this API operation.
  12700. //
  12701. // The context must be non-nil and will be used for request cancellation. If
  12702. // the context is nil a panic will occur. In the future the SDK may create
  12703. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12704. // for more information on using Contexts.
  12705. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  12706. req, out := c.DescribeNatGatewaysRequest(input)
  12707. req.SetContext(ctx)
  12708. req.ApplyOptions(opts...)
  12709. return out, req.Send()
  12710. }
  12711. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  12712. // calling the "fn" function with the response data for each page. To stop
  12713. // iterating, return false from the fn function.
  12714. //
  12715. // See DescribeNatGateways method for more information on how to use this operation.
  12716. //
  12717. // Note: This operation can generate multiple requests to a service.
  12718. //
  12719. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  12720. // pageNum := 0
  12721. // err := client.DescribeNatGatewaysPages(params,
  12722. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  12723. // pageNum++
  12724. // fmt.Println(page)
  12725. // return pageNum <= 3
  12726. // })
  12727. //
  12728. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  12729. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  12730. }
  12731. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  12732. // it takes a Context and allows setting request options on the pages.
  12733. //
  12734. // The context must be non-nil and will be used for request cancellation. If
  12735. // the context is nil a panic will occur. In the future the SDK may create
  12736. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12737. // for more information on using Contexts.
  12738. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  12739. p := request.Pagination{
  12740. NewRequest: func() (*request.Request, error) {
  12741. var inCpy *DescribeNatGatewaysInput
  12742. if input != nil {
  12743. tmp := *input
  12744. inCpy = &tmp
  12745. }
  12746. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  12747. req.SetContext(ctx)
  12748. req.ApplyOptions(opts...)
  12749. return req, nil
  12750. },
  12751. }
  12752. cont := true
  12753. for p.Next() && cont {
  12754. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  12755. }
  12756. return p.Err()
  12757. }
  12758. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  12759. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  12760. // client's request for the DescribeNetworkAcls operation. The "output" return
  12761. // value will be populated with the request's response once the request completes
  12762. // successfully.
  12763. //
  12764. // Use "Send" method on the returned Request to send the API call to the service.
  12765. // the "output" return value is not valid until after Send returns without error.
  12766. //
  12767. // See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
  12768. // API call, and error handling.
  12769. //
  12770. // This method is useful when you want to inject custom logic or configuration
  12771. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12772. //
  12773. //
  12774. // // Example sending a request using the DescribeNetworkAclsRequest method.
  12775. // req, resp := client.DescribeNetworkAclsRequest(params)
  12776. //
  12777. // err := req.Send()
  12778. // if err == nil { // resp is now filled
  12779. // fmt.Println(resp)
  12780. // }
  12781. //
  12782. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  12783. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  12784. op := &request.Operation{
  12785. Name: opDescribeNetworkAcls,
  12786. HTTPMethod: "POST",
  12787. HTTPPath: "/",
  12788. Paginator: &request.Paginator{
  12789. InputTokens: []string{"NextToken"},
  12790. OutputTokens: []string{"NextToken"},
  12791. LimitToken: "MaxResults",
  12792. TruncationToken: "",
  12793. },
  12794. }
  12795. if input == nil {
  12796. input = &DescribeNetworkAclsInput{}
  12797. }
  12798. output = &DescribeNetworkAclsOutput{}
  12799. req = c.newRequest(op, input, output)
  12800. return
  12801. }
  12802. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  12803. //
  12804. // Describes one or more of your network ACLs.
  12805. //
  12806. // For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  12807. // in the Amazon Virtual Private Cloud User Guide.
  12808. //
  12809. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12810. // with awserr.Error's Code and Message methods to get detailed information about
  12811. // the error.
  12812. //
  12813. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12814. // API operation DescribeNetworkAcls for usage and error information.
  12815. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  12816. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  12817. req, out := c.DescribeNetworkAclsRequest(input)
  12818. return out, req.Send()
  12819. }
  12820. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  12821. // the ability to pass a context and additional request options.
  12822. //
  12823. // See DescribeNetworkAcls for details on how to use this API operation.
  12824. //
  12825. // The context must be non-nil and will be used for request cancellation. If
  12826. // the context is nil a panic will occur. In the future the SDK may create
  12827. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12828. // for more information on using Contexts.
  12829. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  12830. req, out := c.DescribeNetworkAclsRequest(input)
  12831. req.SetContext(ctx)
  12832. req.ApplyOptions(opts...)
  12833. return out, req.Send()
  12834. }
  12835. // DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
  12836. // calling the "fn" function with the response data for each page. To stop
  12837. // iterating, return false from the fn function.
  12838. //
  12839. // See DescribeNetworkAcls method for more information on how to use this operation.
  12840. //
  12841. // Note: This operation can generate multiple requests to a service.
  12842. //
  12843. // // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
  12844. // pageNum := 0
  12845. // err := client.DescribeNetworkAclsPages(params,
  12846. // func(page *DescribeNetworkAclsOutput, lastPage bool) bool {
  12847. // pageNum++
  12848. // fmt.Println(page)
  12849. // return pageNum <= 3
  12850. // })
  12851. //
  12852. func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
  12853. return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
  12854. }
  12855. // DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
  12856. // it takes a Context and allows setting request options on the pages.
  12857. //
  12858. // The context must be non-nil and will be used for request cancellation. If
  12859. // the context is nil a panic will occur. In the future the SDK may create
  12860. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12861. // for more information on using Contexts.
  12862. func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
  12863. p := request.Pagination{
  12864. NewRequest: func() (*request.Request, error) {
  12865. var inCpy *DescribeNetworkAclsInput
  12866. if input != nil {
  12867. tmp := *input
  12868. inCpy = &tmp
  12869. }
  12870. req, _ := c.DescribeNetworkAclsRequest(inCpy)
  12871. req.SetContext(ctx)
  12872. req.ApplyOptions(opts...)
  12873. return req, nil
  12874. },
  12875. }
  12876. cont := true
  12877. for p.Next() && cont {
  12878. cont = fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage())
  12879. }
  12880. return p.Err()
  12881. }
  12882. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  12883. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  12884. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  12885. // value will be populated with the request's response once the request completes
  12886. // successfully.
  12887. //
  12888. // Use "Send" method on the returned Request to send the API call to the service.
  12889. // the "output" return value is not valid until after Send returns without error.
  12890. //
  12891. // See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
  12892. // API call, and error handling.
  12893. //
  12894. // This method is useful when you want to inject custom logic or configuration
  12895. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12896. //
  12897. //
  12898. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  12899. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  12900. //
  12901. // err := req.Send()
  12902. // if err == nil { // resp is now filled
  12903. // fmt.Println(resp)
  12904. // }
  12905. //
  12906. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  12907. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  12908. op := &request.Operation{
  12909. Name: opDescribeNetworkInterfaceAttribute,
  12910. HTTPMethod: "POST",
  12911. HTTPPath: "/",
  12912. }
  12913. if input == nil {
  12914. input = &DescribeNetworkInterfaceAttributeInput{}
  12915. }
  12916. output = &DescribeNetworkInterfaceAttributeOutput{}
  12917. req = c.newRequest(op, input, output)
  12918. return
  12919. }
  12920. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  12921. //
  12922. // Describes a network interface attribute. You can specify only one attribute
  12923. // at a time.
  12924. //
  12925. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12926. // with awserr.Error's Code and Message methods to get detailed information about
  12927. // the error.
  12928. //
  12929. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12930. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  12931. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  12932. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  12933. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  12934. return out, req.Send()
  12935. }
  12936. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  12937. // the ability to pass a context and additional request options.
  12938. //
  12939. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  12940. //
  12941. // The context must be non-nil and will be used for request cancellation. If
  12942. // the context is nil a panic will occur. In the future the SDK may create
  12943. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12944. // for more information on using Contexts.
  12945. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  12946. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  12947. req.SetContext(ctx)
  12948. req.ApplyOptions(opts...)
  12949. return out, req.Send()
  12950. }
  12951. const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
  12952. // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
  12953. // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
  12954. // value will be populated with the request's response once the request completes
  12955. // successfully.
  12956. //
  12957. // Use "Send" method on the returned Request to send the API call to the service.
  12958. // the "output" return value is not valid until after Send returns without error.
  12959. //
  12960. // See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
  12961. // API call, and error handling.
  12962. //
  12963. // This method is useful when you want to inject custom logic or configuration
  12964. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  12965. //
  12966. //
  12967. // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
  12968. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
  12969. //
  12970. // err := req.Send()
  12971. // if err == nil { // resp is now filled
  12972. // fmt.Println(resp)
  12973. // }
  12974. //
  12975. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  12976. func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
  12977. op := &request.Operation{
  12978. Name: opDescribeNetworkInterfacePermissions,
  12979. HTTPMethod: "POST",
  12980. HTTPPath: "/",
  12981. }
  12982. if input == nil {
  12983. input = &DescribeNetworkInterfacePermissionsInput{}
  12984. }
  12985. output = &DescribeNetworkInterfacePermissionsOutput{}
  12986. req = c.newRequest(op, input, output)
  12987. return
  12988. }
  12989. // DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
  12990. //
  12991. // Describes the permissions for your network interfaces.
  12992. //
  12993. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12994. // with awserr.Error's Code and Message methods to get detailed information about
  12995. // the error.
  12996. //
  12997. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12998. // API operation DescribeNetworkInterfacePermissions for usage and error information.
  12999. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  13000. func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
  13001. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  13002. return out, req.Send()
  13003. }
  13004. // DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
  13005. // the ability to pass a context and additional request options.
  13006. //
  13007. // See DescribeNetworkInterfacePermissions for details on how to use this API operation.
  13008. //
  13009. // The context must be non-nil and will be used for request cancellation. If
  13010. // the context is nil a panic will occur. In the future the SDK may create
  13011. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13012. // for more information on using Contexts.
  13013. func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
  13014. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  13015. req.SetContext(ctx)
  13016. req.ApplyOptions(opts...)
  13017. return out, req.Send()
  13018. }
  13019. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  13020. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  13021. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  13022. // value will be populated with the request's response once the request completes
  13023. // successfully.
  13024. //
  13025. // Use "Send" method on the returned Request to send the API call to the service.
  13026. // the "output" return value is not valid until after Send returns without error.
  13027. //
  13028. // See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
  13029. // API call, and error handling.
  13030. //
  13031. // This method is useful when you want to inject custom logic or configuration
  13032. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13033. //
  13034. //
  13035. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  13036. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  13037. //
  13038. // err := req.Send()
  13039. // if err == nil { // resp is now filled
  13040. // fmt.Println(resp)
  13041. // }
  13042. //
  13043. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  13044. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  13045. op := &request.Operation{
  13046. Name: opDescribeNetworkInterfaces,
  13047. HTTPMethod: "POST",
  13048. HTTPPath: "/",
  13049. Paginator: &request.Paginator{
  13050. InputTokens: []string{"NextToken"},
  13051. OutputTokens: []string{"NextToken"},
  13052. LimitToken: "MaxResults",
  13053. TruncationToken: "",
  13054. },
  13055. }
  13056. if input == nil {
  13057. input = &DescribeNetworkInterfacesInput{}
  13058. }
  13059. output = &DescribeNetworkInterfacesOutput{}
  13060. req = c.newRequest(op, input, output)
  13061. return
  13062. }
  13063. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  13064. //
  13065. // Describes one or more of your network interfaces.
  13066. //
  13067. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13068. // with awserr.Error's Code and Message methods to get detailed information about
  13069. // the error.
  13070. //
  13071. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13072. // API operation DescribeNetworkInterfaces for usage and error information.
  13073. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  13074. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  13075. req, out := c.DescribeNetworkInterfacesRequest(input)
  13076. return out, req.Send()
  13077. }
  13078. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  13079. // the ability to pass a context and additional request options.
  13080. //
  13081. // See DescribeNetworkInterfaces for details on how to use this API operation.
  13082. //
  13083. // The context must be non-nil and will be used for request cancellation. If
  13084. // the context is nil a panic will occur. In the future the SDK may create
  13085. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13086. // for more information on using Contexts.
  13087. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  13088. req, out := c.DescribeNetworkInterfacesRequest(input)
  13089. req.SetContext(ctx)
  13090. req.ApplyOptions(opts...)
  13091. return out, req.Send()
  13092. }
  13093. // DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
  13094. // calling the "fn" function with the response data for each page. To stop
  13095. // iterating, return false from the fn function.
  13096. //
  13097. // See DescribeNetworkInterfaces method for more information on how to use this operation.
  13098. //
  13099. // Note: This operation can generate multiple requests to a service.
  13100. //
  13101. // // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
  13102. // pageNum := 0
  13103. // err := client.DescribeNetworkInterfacesPages(params,
  13104. // func(page *DescribeNetworkInterfacesOutput, lastPage bool) bool {
  13105. // pageNum++
  13106. // fmt.Println(page)
  13107. // return pageNum <= 3
  13108. // })
  13109. //
  13110. func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
  13111. return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
  13112. }
  13113. // DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
  13114. // it takes a Context and allows setting request options on the pages.
  13115. //
  13116. // The context must be non-nil and will be used for request cancellation. If
  13117. // the context is nil a panic will occur. In the future the SDK may create
  13118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13119. // for more information on using Contexts.
  13120. func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
  13121. p := request.Pagination{
  13122. NewRequest: func() (*request.Request, error) {
  13123. var inCpy *DescribeNetworkInterfacesInput
  13124. if input != nil {
  13125. tmp := *input
  13126. inCpy = &tmp
  13127. }
  13128. req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
  13129. req.SetContext(ctx)
  13130. req.ApplyOptions(opts...)
  13131. return req, nil
  13132. },
  13133. }
  13134. cont := true
  13135. for p.Next() && cont {
  13136. cont = fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage())
  13137. }
  13138. return p.Err()
  13139. }
  13140. const opDescribePlacementGroups = "DescribePlacementGroups"
  13141. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  13142. // client's request for the DescribePlacementGroups operation. The "output" return
  13143. // value will be populated with the request's response once the request completes
  13144. // successfully.
  13145. //
  13146. // Use "Send" method on the returned Request to send the API call to the service.
  13147. // the "output" return value is not valid until after Send returns without error.
  13148. //
  13149. // See DescribePlacementGroups for more information on using the DescribePlacementGroups
  13150. // API call, and error handling.
  13151. //
  13152. // This method is useful when you want to inject custom logic or configuration
  13153. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13154. //
  13155. //
  13156. // // Example sending a request using the DescribePlacementGroupsRequest method.
  13157. // req, resp := client.DescribePlacementGroupsRequest(params)
  13158. //
  13159. // err := req.Send()
  13160. // if err == nil { // resp is now filled
  13161. // fmt.Println(resp)
  13162. // }
  13163. //
  13164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  13165. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  13166. op := &request.Operation{
  13167. Name: opDescribePlacementGroups,
  13168. HTTPMethod: "POST",
  13169. HTTPPath: "/",
  13170. }
  13171. if input == nil {
  13172. input = &DescribePlacementGroupsInput{}
  13173. }
  13174. output = &DescribePlacementGroupsOutput{}
  13175. req = c.newRequest(op, input, output)
  13176. return
  13177. }
  13178. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  13179. //
  13180. // Describes one or more of your placement groups. For more information, see
  13181. // Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
  13182. // in the Amazon Elastic Compute Cloud User Guide.
  13183. //
  13184. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13185. // with awserr.Error's Code and Message methods to get detailed information about
  13186. // the error.
  13187. //
  13188. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13189. // API operation DescribePlacementGroups for usage and error information.
  13190. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  13191. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  13192. req, out := c.DescribePlacementGroupsRequest(input)
  13193. return out, req.Send()
  13194. }
  13195. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  13196. // the ability to pass a context and additional request options.
  13197. //
  13198. // See DescribePlacementGroups for details on how to use this API operation.
  13199. //
  13200. // The context must be non-nil and will be used for request cancellation. If
  13201. // the context is nil a panic will occur. In the future the SDK may create
  13202. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13203. // for more information on using Contexts.
  13204. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  13205. req, out := c.DescribePlacementGroupsRequest(input)
  13206. req.SetContext(ctx)
  13207. req.ApplyOptions(opts...)
  13208. return out, req.Send()
  13209. }
  13210. const opDescribePrefixLists = "DescribePrefixLists"
  13211. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  13212. // client's request for the DescribePrefixLists operation. The "output" return
  13213. // value will be populated with the request's response once the request completes
  13214. // successfully.
  13215. //
  13216. // Use "Send" method on the returned Request to send the API call to the service.
  13217. // the "output" return value is not valid until after Send returns without error.
  13218. //
  13219. // See DescribePrefixLists for more information on using the DescribePrefixLists
  13220. // API call, and error handling.
  13221. //
  13222. // This method is useful when you want to inject custom logic or configuration
  13223. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13224. //
  13225. //
  13226. // // Example sending a request using the DescribePrefixListsRequest method.
  13227. // req, resp := client.DescribePrefixListsRequest(params)
  13228. //
  13229. // err := req.Send()
  13230. // if err == nil { // resp is now filled
  13231. // fmt.Println(resp)
  13232. // }
  13233. //
  13234. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  13235. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  13236. op := &request.Operation{
  13237. Name: opDescribePrefixLists,
  13238. HTTPMethod: "POST",
  13239. HTTPPath: "/",
  13240. }
  13241. if input == nil {
  13242. input = &DescribePrefixListsInput{}
  13243. }
  13244. output = &DescribePrefixListsOutput{}
  13245. req = c.newRequest(op, input, output)
  13246. return
  13247. }
  13248. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  13249. //
  13250. // Describes available AWS services in a prefix list format, which includes
  13251. // the prefix list name and prefix list ID of the service and the IP address
  13252. // range for the service. A prefix list ID is required for creating an outbound
  13253. // security group rule that allows traffic from a VPC to access an AWS service
  13254. // through a gateway VPC endpoint. Currently, the services that support this
  13255. // action are Amazon S3 and Amazon DynamoDB.
  13256. //
  13257. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13258. // with awserr.Error's Code and Message methods to get detailed information about
  13259. // the error.
  13260. //
  13261. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13262. // API operation DescribePrefixLists for usage and error information.
  13263. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  13264. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  13265. req, out := c.DescribePrefixListsRequest(input)
  13266. return out, req.Send()
  13267. }
  13268. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  13269. // the ability to pass a context and additional request options.
  13270. //
  13271. // See DescribePrefixLists for details on how to use this API operation.
  13272. //
  13273. // The context must be non-nil and will be used for request cancellation. If
  13274. // the context is nil a panic will occur. In the future the SDK may create
  13275. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13276. // for more information on using Contexts.
  13277. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  13278. req, out := c.DescribePrefixListsRequest(input)
  13279. req.SetContext(ctx)
  13280. req.ApplyOptions(opts...)
  13281. return out, req.Send()
  13282. }
  13283. const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
  13284. // DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
  13285. // client's request for the DescribePrincipalIdFormat operation. The "output" return
  13286. // value will be populated with the request's response once the request completes
  13287. // successfully.
  13288. //
  13289. // Use "Send" method on the returned Request to send the API call to the service.
  13290. // the "output" return value is not valid until after Send returns without error.
  13291. //
  13292. // See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
  13293. // API call, and error handling.
  13294. //
  13295. // This method is useful when you want to inject custom logic or configuration
  13296. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13297. //
  13298. //
  13299. // // Example sending a request using the DescribePrincipalIdFormatRequest method.
  13300. // req, resp := client.DescribePrincipalIdFormatRequest(params)
  13301. //
  13302. // err := req.Send()
  13303. // if err == nil { // resp is now filled
  13304. // fmt.Println(resp)
  13305. // }
  13306. //
  13307. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  13308. func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
  13309. op := &request.Operation{
  13310. Name: opDescribePrincipalIdFormat,
  13311. HTTPMethod: "POST",
  13312. HTTPPath: "/",
  13313. }
  13314. if input == nil {
  13315. input = &DescribePrincipalIdFormatInput{}
  13316. }
  13317. output = &DescribePrincipalIdFormatOutput{}
  13318. req = c.newRequest(op, input, output)
  13319. return
  13320. }
  13321. // DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
  13322. //
  13323. // Describes the ID format settings for the root user and all IAM roles and
  13324. // IAM users that have explicitly specified a longer ID (17-character ID) preference.
  13325. //
  13326. // By default, all IAM roles and IAM users default to the same ID settings as
  13327. // the root user, unless they explicitly override the settings. This request
  13328. // is useful for identifying those IAM users and IAM roles that have overridden
  13329. // the default ID settings.
  13330. //
  13331. // The following resource types support longer IDs: bundle | conversion-task
  13332. // | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
  13333. // | export-task | flow-log | image | import-task | instance | internet-gateway
  13334. // | network-acl | network-acl-association | network-interface | network-interface-attachment
  13335. // | prefix-list | reservation | route-table | route-table-association | security-group
  13336. // | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  13337. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  13338. //
  13339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13340. // with awserr.Error's Code and Message methods to get detailed information about
  13341. // the error.
  13342. //
  13343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13344. // API operation DescribePrincipalIdFormat for usage and error information.
  13345. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
  13346. func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
  13347. req, out := c.DescribePrincipalIdFormatRequest(input)
  13348. return out, req.Send()
  13349. }
  13350. // DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
  13351. // the ability to pass a context and additional request options.
  13352. //
  13353. // See DescribePrincipalIdFormat for details on how to use this API operation.
  13354. //
  13355. // The context must be non-nil and will be used for request cancellation. If
  13356. // the context is nil a panic will occur. In the future the SDK may create
  13357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13358. // for more information on using Contexts.
  13359. func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
  13360. req, out := c.DescribePrincipalIdFormatRequest(input)
  13361. req.SetContext(ctx)
  13362. req.ApplyOptions(opts...)
  13363. return out, req.Send()
  13364. }
  13365. const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
  13366. // DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
  13367. // client's request for the DescribePublicIpv4Pools operation. The "output" return
  13368. // value will be populated with the request's response once the request completes
  13369. // successfully.
  13370. //
  13371. // Use "Send" method on the returned Request to send the API call to the service.
  13372. // the "output" return value is not valid until after Send returns without error.
  13373. //
  13374. // See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
  13375. // API call, and error handling.
  13376. //
  13377. // This method is useful when you want to inject custom logic or configuration
  13378. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13379. //
  13380. //
  13381. // // Example sending a request using the DescribePublicIpv4PoolsRequest method.
  13382. // req, resp := client.DescribePublicIpv4PoolsRequest(params)
  13383. //
  13384. // err := req.Send()
  13385. // if err == nil { // resp is now filled
  13386. // fmt.Println(resp)
  13387. // }
  13388. //
  13389. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
  13390. func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
  13391. op := &request.Operation{
  13392. Name: opDescribePublicIpv4Pools,
  13393. HTTPMethod: "POST",
  13394. HTTPPath: "/",
  13395. }
  13396. if input == nil {
  13397. input = &DescribePublicIpv4PoolsInput{}
  13398. }
  13399. output = &DescribePublicIpv4PoolsOutput{}
  13400. req = c.newRequest(op, input, output)
  13401. return
  13402. }
  13403. // DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
  13404. //
  13405. // Describes the specified IPv4 address pools.
  13406. //
  13407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13408. // with awserr.Error's Code and Message methods to get detailed information about
  13409. // the error.
  13410. //
  13411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13412. // API operation DescribePublicIpv4Pools for usage and error information.
  13413. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
  13414. func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
  13415. req, out := c.DescribePublicIpv4PoolsRequest(input)
  13416. return out, req.Send()
  13417. }
  13418. // DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
  13419. // the ability to pass a context and additional request options.
  13420. //
  13421. // See DescribePublicIpv4Pools for details on how to use this API operation.
  13422. //
  13423. // The context must be non-nil and will be used for request cancellation. If
  13424. // the context is nil a panic will occur. In the future the SDK may create
  13425. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13426. // for more information on using Contexts.
  13427. func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
  13428. req, out := c.DescribePublicIpv4PoolsRequest(input)
  13429. req.SetContext(ctx)
  13430. req.ApplyOptions(opts...)
  13431. return out, req.Send()
  13432. }
  13433. const opDescribeRegions = "DescribeRegions"
  13434. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  13435. // client's request for the DescribeRegions operation. The "output" return
  13436. // value will be populated with the request's response once the request completes
  13437. // successfully.
  13438. //
  13439. // Use "Send" method on the returned Request to send the API call to the service.
  13440. // the "output" return value is not valid until after Send returns without error.
  13441. //
  13442. // See DescribeRegions for more information on using the DescribeRegions
  13443. // API call, and error handling.
  13444. //
  13445. // This method is useful when you want to inject custom logic or configuration
  13446. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13447. //
  13448. //
  13449. // // Example sending a request using the DescribeRegionsRequest method.
  13450. // req, resp := client.DescribeRegionsRequest(params)
  13451. //
  13452. // err := req.Send()
  13453. // if err == nil { // resp is now filled
  13454. // fmt.Println(resp)
  13455. // }
  13456. //
  13457. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  13458. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  13459. op := &request.Operation{
  13460. Name: opDescribeRegions,
  13461. HTTPMethod: "POST",
  13462. HTTPPath: "/",
  13463. }
  13464. if input == nil {
  13465. input = &DescribeRegionsInput{}
  13466. }
  13467. output = &DescribeRegionsOutput{}
  13468. req = c.newRequest(op, input, output)
  13469. return
  13470. }
  13471. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  13472. //
  13473. // Describes one or more regions that are currently available to you.
  13474. //
  13475. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  13476. // (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  13477. //
  13478. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13479. // with awserr.Error's Code and Message methods to get detailed information about
  13480. // the error.
  13481. //
  13482. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13483. // API operation DescribeRegions for usage and error information.
  13484. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  13485. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  13486. req, out := c.DescribeRegionsRequest(input)
  13487. return out, req.Send()
  13488. }
  13489. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  13490. // the ability to pass a context and additional request options.
  13491. //
  13492. // See DescribeRegions for details on how to use this API operation.
  13493. //
  13494. // The context must be non-nil and will be used for request cancellation. If
  13495. // the context is nil a panic will occur. In the future the SDK may create
  13496. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13497. // for more information on using Contexts.
  13498. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  13499. req, out := c.DescribeRegionsRequest(input)
  13500. req.SetContext(ctx)
  13501. req.ApplyOptions(opts...)
  13502. return out, req.Send()
  13503. }
  13504. const opDescribeReservedInstances = "DescribeReservedInstances"
  13505. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  13506. // client's request for the DescribeReservedInstances operation. The "output" return
  13507. // value will be populated with the request's response once the request completes
  13508. // successfully.
  13509. //
  13510. // Use "Send" method on the returned Request to send the API call to the service.
  13511. // the "output" return value is not valid until after Send returns without error.
  13512. //
  13513. // See DescribeReservedInstances for more information on using the DescribeReservedInstances
  13514. // API call, and error handling.
  13515. //
  13516. // This method is useful when you want to inject custom logic or configuration
  13517. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13518. //
  13519. //
  13520. // // Example sending a request using the DescribeReservedInstancesRequest method.
  13521. // req, resp := client.DescribeReservedInstancesRequest(params)
  13522. //
  13523. // err := req.Send()
  13524. // if err == nil { // resp is now filled
  13525. // fmt.Println(resp)
  13526. // }
  13527. //
  13528. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  13529. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  13530. op := &request.Operation{
  13531. Name: opDescribeReservedInstances,
  13532. HTTPMethod: "POST",
  13533. HTTPPath: "/",
  13534. }
  13535. if input == nil {
  13536. input = &DescribeReservedInstancesInput{}
  13537. }
  13538. output = &DescribeReservedInstancesOutput{}
  13539. req = c.newRequest(op, input, output)
  13540. return
  13541. }
  13542. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  13543. //
  13544. // Describes one or more of the Reserved Instances that you purchased.
  13545. //
  13546. // For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  13547. // in the Amazon Elastic Compute Cloud User Guide.
  13548. //
  13549. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13550. // with awserr.Error's Code and Message methods to get detailed information about
  13551. // the error.
  13552. //
  13553. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13554. // API operation DescribeReservedInstances for usage and error information.
  13555. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  13556. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  13557. req, out := c.DescribeReservedInstancesRequest(input)
  13558. return out, req.Send()
  13559. }
  13560. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  13561. // the ability to pass a context and additional request options.
  13562. //
  13563. // See DescribeReservedInstances for details on how to use this API operation.
  13564. //
  13565. // The context must be non-nil and will be used for request cancellation. If
  13566. // the context is nil a panic will occur. In the future the SDK may create
  13567. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13568. // for more information on using Contexts.
  13569. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  13570. req, out := c.DescribeReservedInstancesRequest(input)
  13571. req.SetContext(ctx)
  13572. req.ApplyOptions(opts...)
  13573. return out, req.Send()
  13574. }
  13575. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  13576. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  13577. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  13578. // value will be populated with the request's response once the request completes
  13579. // successfully.
  13580. //
  13581. // Use "Send" method on the returned Request to send the API call to the service.
  13582. // the "output" return value is not valid until after Send returns without error.
  13583. //
  13584. // See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
  13585. // API call, and error handling.
  13586. //
  13587. // This method is useful when you want to inject custom logic or configuration
  13588. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13589. //
  13590. //
  13591. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  13592. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  13593. //
  13594. // err := req.Send()
  13595. // if err == nil { // resp is now filled
  13596. // fmt.Println(resp)
  13597. // }
  13598. //
  13599. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  13600. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  13601. op := &request.Operation{
  13602. Name: opDescribeReservedInstancesListings,
  13603. HTTPMethod: "POST",
  13604. HTTPPath: "/",
  13605. }
  13606. if input == nil {
  13607. input = &DescribeReservedInstancesListingsInput{}
  13608. }
  13609. output = &DescribeReservedInstancesListingsOutput{}
  13610. req = c.newRequest(op, input, output)
  13611. return
  13612. }
  13613. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  13614. //
  13615. // Describes your account's Reserved Instance listings in the Reserved Instance
  13616. // Marketplace.
  13617. //
  13618. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  13619. // Instance capacity that they no longer need with buyers who want to purchase
  13620. // additional capacity. Reserved Instances bought and sold through the Reserved
  13621. // Instance Marketplace work like any other Reserved Instances.
  13622. //
  13623. // As a seller, you choose to list some or all of your Reserved Instances, and
  13624. // you specify the upfront price to receive for them. Your Reserved Instances
  13625. // are then listed in the Reserved Instance Marketplace and are available for
  13626. // purchase.
  13627. //
  13628. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  13629. // and the Marketplace matches what you're searching for with what's available.
  13630. // The Marketplace first sells the lowest priced Reserved Instances to you,
  13631. // and continues to sell available Reserved Instance listings to you until your
  13632. // demand is met. You are charged based on the total price of all of the listings
  13633. // that you purchase.
  13634. //
  13635. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  13636. // in the Amazon Elastic Compute Cloud User Guide.
  13637. //
  13638. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13639. // with awserr.Error's Code and Message methods to get detailed information about
  13640. // the error.
  13641. //
  13642. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13643. // API operation DescribeReservedInstancesListings for usage and error information.
  13644. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  13645. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  13646. req, out := c.DescribeReservedInstancesListingsRequest(input)
  13647. return out, req.Send()
  13648. }
  13649. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  13650. // the ability to pass a context and additional request options.
  13651. //
  13652. // See DescribeReservedInstancesListings for details on how to use this API operation.
  13653. //
  13654. // The context must be non-nil and will be used for request cancellation. If
  13655. // the context is nil a panic will occur. In the future the SDK may create
  13656. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13657. // for more information on using Contexts.
  13658. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  13659. req, out := c.DescribeReservedInstancesListingsRequest(input)
  13660. req.SetContext(ctx)
  13661. req.ApplyOptions(opts...)
  13662. return out, req.Send()
  13663. }
  13664. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  13665. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  13666. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  13667. // value will be populated with the request's response once the request completes
  13668. // successfully.
  13669. //
  13670. // Use "Send" method on the returned Request to send the API call to the service.
  13671. // the "output" return value is not valid until after Send returns without error.
  13672. //
  13673. // See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
  13674. // API call, and error handling.
  13675. //
  13676. // This method is useful when you want to inject custom logic or configuration
  13677. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13678. //
  13679. //
  13680. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  13681. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  13682. //
  13683. // err := req.Send()
  13684. // if err == nil { // resp is now filled
  13685. // fmt.Println(resp)
  13686. // }
  13687. //
  13688. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  13689. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  13690. op := &request.Operation{
  13691. Name: opDescribeReservedInstancesModifications,
  13692. HTTPMethod: "POST",
  13693. HTTPPath: "/",
  13694. Paginator: &request.Paginator{
  13695. InputTokens: []string{"NextToken"},
  13696. OutputTokens: []string{"NextToken"},
  13697. LimitToken: "",
  13698. TruncationToken: "",
  13699. },
  13700. }
  13701. if input == nil {
  13702. input = &DescribeReservedInstancesModificationsInput{}
  13703. }
  13704. output = &DescribeReservedInstancesModificationsOutput{}
  13705. req = c.newRequest(op, input, output)
  13706. return
  13707. }
  13708. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  13709. //
  13710. // Describes the modifications made to your Reserved Instances. If no parameter
  13711. // is specified, information about all your Reserved Instances modification
  13712. // requests is returned. If a modification ID is specified, only information
  13713. // about the specific modification is returned.
  13714. //
  13715. // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  13716. // in the Amazon Elastic Compute Cloud User Guide.
  13717. //
  13718. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13719. // with awserr.Error's Code and Message methods to get detailed information about
  13720. // the error.
  13721. //
  13722. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13723. // API operation DescribeReservedInstancesModifications for usage and error information.
  13724. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  13725. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  13726. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  13727. return out, req.Send()
  13728. }
  13729. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  13730. // the ability to pass a context and additional request options.
  13731. //
  13732. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  13733. //
  13734. // The context must be non-nil and will be used for request cancellation. If
  13735. // the context is nil a panic will occur. In the future the SDK may create
  13736. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13737. // for more information on using Contexts.
  13738. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  13739. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  13740. req.SetContext(ctx)
  13741. req.ApplyOptions(opts...)
  13742. return out, req.Send()
  13743. }
  13744. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  13745. // calling the "fn" function with the response data for each page. To stop
  13746. // iterating, return false from the fn function.
  13747. //
  13748. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  13749. //
  13750. // Note: This operation can generate multiple requests to a service.
  13751. //
  13752. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  13753. // pageNum := 0
  13754. // err := client.DescribeReservedInstancesModificationsPages(params,
  13755. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  13756. // pageNum++
  13757. // fmt.Println(page)
  13758. // return pageNum <= 3
  13759. // })
  13760. //
  13761. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  13762. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  13763. }
  13764. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  13765. // it takes a Context and allows setting request options on the pages.
  13766. //
  13767. // The context must be non-nil and will be used for request cancellation. If
  13768. // the context is nil a panic will occur. In the future the SDK may create
  13769. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13770. // for more information on using Contexts.
  13771. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  13772. p := request.Pagination{
  13773. NewRequest: func() (*request.Request, error) {
  13774. var inCpy *DescribeReservedInstancesModificationsInput
  13775. if input != nil {
  13776. tmp := *input
  13777. inCpy = &tmp
  13778. }
  13779. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  13780. req.SetContext(ctx)
  13781. req.ApplyOptions(opts...)
  13782. return req, nil
  13783. },
  13784. }
  13785. cont := true
  13786. for p.Next() && cont {
  13787. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  13788. }
  13789. return p.Err()
  13790. }
  13791. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  13792. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  13793. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  13794. // value will be populated with the request's response once the request completes
  13795. // successfully.
  13796. //
  13797. // Use "Send" method on the returned Request to send the API call to the service.
  13798. // the "output" return value is not valid until after Send returns without error.
  13799. //
  13800. // See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
  13801. // API call, and error handling.
  13802. //
  13803. // This method is useful when you want to inject custom logic or configuration
  13804. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13805. //
  13806. //
  13807. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  13808. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  13809. //
  13810. // err := req.Send()
  13811. // if err == nil { // resp is now filled
  13812. // fmt.Println(resp)
  13813. // }
  13814. //
  13815. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  13816. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  13817. op := &request.Operation{
  13818. Name: opDescribeReservedInstancesOfferings,
  13819. HTTPMethod: "POST",
  13820. HTTPPath: "/",
  13821. Paginator: &request.Paginator{
  13822. InputTokens: []string{"NextToken"},
  13823. OutputTokens: []string{"NextToken"},
  13824. LimitToken: "MaxResults",
  13825. TruncationToken: "",
  13826. },
  13827. }
  13828. if input == nil {
  13829. input = &DescribeReservedInstancesOfferingsInput{}
  13830. }
  13831. output = &DescribeReservedInstancesOfferingsOutput{}
  13832. req = c.newRequest(op, input, output)
  13833. return
  13834. }
  13835. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  13836. //
  13837. // Describes Reserved Instance offerings that are available for purchase. With
  13838. // Reserved Instances, you purchase the right to launch instances for a period
  13839. // of time. During that time period, you do not receive insufficient capacity
  13840. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  13841. // instances for the actual time used.
  13842. //
  13843. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  13844. // Marketplace, they will be excluded from these results. This is to ensure
  13845. // that you do not purchase your own Reserved Instances.
  13846. //
  13847. // For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  13848. // in the Amazon Elastic Compute Cloud User Guide.
  13849. //
  13850. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13851. // with awserr.Error's Code and Message methods to get detailed information about
  13852. // the error.
  13853. //
  13854. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13855. // API operation DescribeReservedInstancesOfferings for usage and error information.
  13856. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  13857. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  13858. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  13859. return out, req.Send()
  13860. }
  13861. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  13862. // the ability to pass a context and additional request options.
  13863. //
  13864. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  13865. //
  13866. // The context must be non-nil and will be used for request cancellation. If
  13867. // the context is nil a panic will occur. In the future the SDK may create
  13868. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13869. // for more information on using Contexts.
  13870. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  13871. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  13872. req.SetContext(ctx)
  13873. req.ApplyOptions(opts...)
  13874. return out, req.Send()
  13875. }
  13876. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  13877. // calling the "fn" function with the response data for each page. To stop
  13878. // iterating, return false from the fn function.
  13879. //
  13880. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  13881. //
  13882. // Note: This operation can generate multiple requests to a service.
  13883. //
  13884. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  13885. // pageNum := 0
  13886. // err := client.DescribeReservedInstancesOfferingsPages(params,
  13887. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  13888. // pageNum++
  13889. // fmt.Println(page)
  13890. // return pageNum <= 3
  13891. // })
  13892. //
  13893. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  13894. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  13895. }
  13896. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  13897. // it takes a Context and allows setting request options on the pages.
  13898. //
  13899. // The context must be non-nil and will be used for request cancellation. If
  13900. // the context is nil a panic will occur. In the future the SDK may create
  13901. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13902. // for more information on using Contexts.
  13903. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  13904. p := request.Pagination{
  13905. NewRequest: func() (*request.Request, error) {
  13906. var inCpy *DescribeReservedInstancesOfferingsInput
  13907. if input != nil {
  13908. tmp := *input
  13909. inCpy = &tmp
  13910. }
  13911. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  13912. req.SetContext(ctx)
  13913. req.ApplyOptions(opts...)
  13914. return req, nil
  13915. },
  13916. }
  13917. cont := true
  13918. for p.Next() && cont {
  13919. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  13920. }
  13921. return p.Err()
  13922. }
  13923. const opDescribeRouteTables = "DescribeRouteTables"
  13924. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  13925. // client's request for the DescribeRouteTables operation. The "output" return
  13926. // value will be populated with the request's response once the request completes
  13927. // successfully.
  13928. //
  13929. // Use "Send" method on the returned Request to send the API call to the service.
  13930. // the "output" return value is not valid until after Send returns without error.
  13931. //
  13932. // See DescribeRouteTables for more information on using the DescribeRouteTables
  13933. // API call, and error handling.
  13934. //
  13935. // This method is useful when you want to inject custom logic or configuration
  13936. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  13937. //
  13938. //
  13939. // // Example sending a request using the DescribeRouteTablesRequest method.
  13940. // req, resp := client.DescribeRouteTablesRequest(params)
  13941. //
  13942. // err := req.Send()
  13943. // if err == nil { // resp is now filled
  13944. // fmt.Println(resp)
  13945. // }
  13946. //
  13947. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  13948. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  13949. op := &request.Operation{
  13950. Name: opDescribeRouteTables,
  13951. HTTPMethod: "POST",
  13952. HTTPPath: "/",
  13953. Paginator: &request.Paginator{
  13954. InputTokens: []string{"NextToken"},
  13955. OutputTokens: []string{"NextToken"},
  13956. LimitToken: "MaxResults",
  13957. TruncationToken: "",
  13958. },
  13959. }
  13960. if input == nil {
  13961. input = &DescribeRouteTablesInput{}
  13962. }
  13963. output = &DescribeRouteTablesOutput{}
  13964. req = c.newRequest(op, input, output)
  13965. return
  13966. }
  13967. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  13968. //
  13969. // Describes one or more of your route tables.
  13970. //
  13971. // Each subnet in your VPC must be associated with a route table. If a subnet
  13972. // is not explicitly associated with any route table, it is implicitly associated
  13973. // with the main route table. This command does not return the subnet ID for
  13974. // implicit associations.
  13975. //
  13976. // For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  13977. // in the Amazon Virtual Private Cloud User Guide.
  13978. //
  13979. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13980. // with awserr.Error's Code and Message methods to get detailed information about
  13981. // the error.
  13982. //
  13983. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13984. // API operation DescribeRouteTables for usage and error information.
  13985. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  13986. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  13987. req, out := c.DescribeRouteTablesRequest(input)
  13988. return out, req.Send()
  13989. }
  13990. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  13991. // the ability to pass a context and additional request options.
  13992. //
  13993. // See DescribeRouteTables for details on how to use this API operation.
  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) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  14000. req, out := c.DescribeRouteTablesRequest(input)
  14001. req.SetContext(ctx)
  14002. req.ApplyOptions(opts...)
  14003. return out, req.Send()
  14004. }
  14005. // DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
  14006. // calling the "fn" function with the response data for each page. To stop
  14007. // iterating, return false from the fn function.
  14008. //
  14009. // See DescribeRouteTables method for more information on how to use this operation.
  14010. //
  14011. // Note: This operation can generate multiple requests to a service.
  14012. //
  14013. // // Example iterating over at most 3 pages of a DescribeRouteTables operation.
  14014. // pageNum := 0
  14015. // err := client.DescribeRouteTablesPages(params,
  14016. // func(page *DescribeRouteTablesOutput, lastPage bool) bool {
  14017. // pageNum++
  14018. // fmt.Println(page)
  14019. // return pageNum <= 3
  14020. // })
  14021. //
  14022. func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
  14023. return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
  14024. }
  14025. // DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
  14026. // it takes a Context and allows setting request options on the pages.
  14027. //
  14028. // The context must be non-nil and will be used for request cancellation. If
  14029. // the context is nil a panic will occur. In the future the SDK may create
  14030. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14031. // for more information on using Contexts.
  14032. func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
  14033. p := request.Pagination{
  14034. NewRequest: func() (*request.Request, error) {
  14035. var inCpy *DescribeRouteTablesInput
  14036. if input != nil {
  14037. tmp := *input
  14038. inCpy = &tmp
  14039. }
  14040. req, _ := c.DescribeRouteTablesRequest(inCpy)
  14041. req.SetContext(ctx)
  14042. req.ApplyOptions(opts...)
  14043. return req, nil
  14044. },
  14045. }
  14046. cont := true
  14047. for p.Next() && cont {
  14048. cont = fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage())
  14049. }
  14050. return p.Err()
  14051. }
  14052. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  14053. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  14054. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  14055. // value will be populated with the request's response once the request completes
  14056. // successfully.
  14057. //
  14058. // Use "Send" method on the returned Request to send the API call to the service.
  14059. // the "output" return value is not valid until after Send returns without error.
  14060. //
  14061. // See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
  14062. // API call, and error handling.
  14063. //
  14064. // This method is useful when you want to inject custom logic or configuration
  14065. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14066. //
  14067. //
  14068. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  14069. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  14070. //
  14071. // err := req.Send()
  14072. // if err == nil { // resp is now filled
  14073. // fmt.Println(resp)
  14074. // }
  14075. //
  14076. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  14077. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  14078. op := &request.Operation{
  14079. Name: opDescribeScheduledInstanceAvailability,
  14080. HTTPMethod: "POST",
  14081. HTTPPath: "/",
  14082. }
  14083. if input == nil {
  14084. input = &DescribeScheduledInstanceAvailabilityInput{}
  14085. }
  14086. output = &DescribeScheduledInstanceAvailabilityOutput{}
  14087. req = c.newRequest(op, input, output)
  14088. return
  14089. }
  14090. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  14091. //
  14092. // Finds available schedules that meet the specified criteria.
  14093. //
  14094. // You can search for an available schedule no more than 3 months in advance.
  14095. // You must meet the minimum required duration of 1,200 hours per year. For
  14096. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  14097. // is 24 hours, and the minimum monthly schedule is 100 hours.
  14098. //
  14099. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  14100. // to purchase Scheduled Instances with that schedule.
  14101. //
  14102. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14103. // with awserr.Error's Code and Message methods to get detailed information about
  14104. // the error.
  14105. //
  14106. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14107. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  14108. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  14109. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  14110. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  14111. return out, req.Send()
  14112. }
  14113. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  14114. // the ability to pass a context and additional request options.
  14115. //
  14116. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  14117. //
  14118. // The context must be non-nil and will be used for request cancellation. If
  14119. // the context is nil a panic will occur. In the future the SDK may create
  14120. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14121. // for more information on using Contexts.
  14122. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  14123. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  14124. req.SetContext(ctx)
  14125. req.ApplyOptions(opts...)
  14126. return out, req.Send()
  14127. }
  14128. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  14129. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  14130. // client's request for the DescribeScheduledInstances operation. The "output" return
  14131. // value will be populated with the request's response once the request completes
  14132. // successfully.
  14133. //
  14134. // Use "Send" method on the returned Request to send the API call to the service.
  14135. // the "output" return value is not valid until after Send returns without error.
  14136. //
  14137. // See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
  14138. // API call, and error handling.
  14139. //
  14140. // This method is useful when you want to inject custom logic or configuration
  14141. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14142. //
  14143. //
  14144. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  14145. // req, resp := client.DescribeScheduledInstancesRequest(params)
  14146. //
  14147. // err := req.Send()
  14148. // if err == nil { // resp is now filled
  14149. // fmt.Println(resp)
  14150. // }
  14151. //
  14152. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  14153. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  14154. op := &request.Operation{
  14155. Name: opDescribeScheduledInstances,
  14156. HTTPMethod: "POST",
  14157. HTTPPath: "/",
  14158. }
  14159. if input == nil {
  14160. input = &DescribeScheduledInstancesInput{}
  14161. }
  14162. output = &DescribeScheduledInstancesOutput{}
  14163. req = c.newRequest(op, input, output)
  14164. return
  14165. }
  14166. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  14167. //
  14168. // Describes one or more of your Scheduled Instances.
  14169. //
  14170. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14171. // with awserr.Error's Code and Message methods to get detailed information about
  14172. // the error.
  14173. //
  14174. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14175. // API operation DescribeScheduledInstances for usage and error information.
  14176. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  14177. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  14178. req, out := c.DescribeScheduledInstancesRequest(input)
  14179. return out, req.Send()
  14180. }
  14181. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  14182. // the ability to pass a context and additional request options.
  14183. //
  14184. // See DescribeScheduledInstances for details on how to use this API operation.
  14185. //
  14186. // The context must be non-nil and will be used for request cancellation. If
  14187. // the context is nil a panic will occur. In the future the SDK may create
  14188. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14189. // for more information on using Contexts.
  14190. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  14191. req, out := c.DescribeScheduledInstancesRequest(input)
  14192. req.SetContext(ctx)
  14193. req.ApplyOptions(opts...)
  14194. return out, req.Send()
  14195. }
  14196. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  14197. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  14198. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  14199. // value will be populated with the request's response once the request completes
  14200. // successfully.
  14201. //
  14202. // Use "Send" method on the returned Request to send the API call to the service.
  14203. // the "output" return value is not valid until after Send returns without error.
  14204. //
  14205. // See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
  14206. // API call, and error handling.
  14207. //
  14208. // This method is useful when you want to inject custom logic or configuration
  14209. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14210. //
  14211. //
  14212. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  14213. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  14214. //
  14215. // err := req.Send()
  14216. // if err == nil { // resp is now filled
  14217. // fmt.Println(resp)
  14218. // }
  14219. //
  14220. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  14221. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  14222. op := &request.Operation{
  14223. Name: opDescribeSecurityGroupReferences,
  14224. HTTPMethod: "POST",
  14225. HTTPPath: "/",
  14226. }
  14227. if input == nil {
  14228. input = &DescribeSecurityGroupReferencesInput{}
  14229. }
  14230. output = &DescribeSecurityGroupReferencesOutput{}
  14231. req = c.newRequest(op, input, output)
  14232. return
  14233. }
  14234. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  14235. //
  14236. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  14237. // that are referencing the security groups you've specified in this request.
  14238. //
  14239. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14240. // with awserr.Error's Code and Message methods to get detailed information about
  14241. // the error.
  14242. //
  14243. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14244. // API operation DescribeSecurityGroupReferences for usage and error information.
  14245. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  14246. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  14247. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  14248. return out, req.Send()
  14249. }
  14250. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  14251. // the ability to pass a context and additional request options.
  14252. //
  14253. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  14254. //
  14255. // The context must be non-nil and will be used for request cancellation. If
  14256. // the context is nil a panic will occur. In the future the SDK may create
  14257. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14258. // for more information on using Contexts.
  14259. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  14260. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  14261. req.SetContext(ctx)
  14262. req.ApplyOptions(opts...)
  14263. return out, req.Send()
  14264. }
  14265. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  14266. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  14267. // client's request for the DescribeSecurityGroups operation. The "output" return
  14268. // value will be populated with the request's response once the request completes
  14269. // successfully.
  14270. //
  14271. // Use "Send" method on the returned Request to send the API call to the service.
  14272. // the "output" return value is not valid until after Send returns without error.
  14273. //
  14274. // See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
  14275. // API call, and error handling.
  14276. //
  14277. // This method is useful when you want to inject custom logic or configuration
  14278. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14279. //
  14280. //
  14281. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  14282. // req, resp := client.DescribeSecurityGroupsRequest(params)
  14283. //
  14284. // err := req.Send()
  14285. // if err == nil { // resp is now filled
  14286. // fmt.Println(resp)
  14287. // }
  14288. //
  14289. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  14290. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  14291. op := &request.Operation{
  14292. Name: opDescribeSecurityGroups,
  14293. HTTPMethod: "POST",
  14294. HTTPPath: "/",
  14295. Paginator: &request.Paginator{
  14296. InputTokens: []string{"NextToken"},
  14297. OutputTokens: []string{"NextToken"},
  14298. LimitToken: "MaxResults",
  14299. TruncationToken: "",
  14300. },
  14301. }
  14302. if input == nil {
  14303. input = &DescribeSecurityGroupsInput{}
  14304. }
  14305. output = &DescribeSecurityGroupsOutput{}
  14306. req = c.newRequest(op, input, output)
  14307. return
  14308. }
  14309. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  14310. //
  14311. // Describes one or more of your security groups.
  14312. //
  14313. // A security group is for use with instances either in the EC2-Classic platform
  14314. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  14315. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  14316. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  14317. // VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  14318. // in the Amazon Virtual Private Cloud User Guide.
  14319. //
  14320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14321. // with awserr.Error's Code and Message methods to get detailed information about
  14322. // the error.
  14323. //
  14324. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14325. // API operation DescribeSecurityGroups for usage and error information.
  14326. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  14327. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  14328. req, out := c.DescribeSecurityGroupsRequest(input)
  14329. return out, req.Send()
  14330. }
  14331. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  14332. // the ability to pass a context and additional request options.
  14333. //
  14334. // See DescribeSecurityGroups for details on how to use this API operation.
  14335. //
  14336. // The context must be non-nil and will be used for request cancellation. If
  14337. // the context is nil a panic will occur. In the future the SDK may create
  14338. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14339. // for more information on using Contexts.
  14340. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  14341. req, out := c.DescribeSecurityGroupsRequest(input)
  14342. req.SetContext(ctx)
  14343. req.ApplyOptions(opts...)
  14344. return out, req.Send()
  14345. }
  14346. // DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
  14347. // calling the "fn" function with the response data for each page. To stop
  14348. // iterating, return false from the fn function.
  14349. //
  14350. // See DescribeSecurityGroups method for more information on how to use this operation.
  14351. //
  14352. // Note: This operation can generate multiple requests to a service.
  14353. //
  14354. // // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
  14355. // pageNum := 0
  14356. // err := client.DescribeSecurityGroupsPages(params,
  14357. // func(page *DescribeSecurityGroupsOutput, lastPage bool) bool {
  14358. // pageNum++
  14359. // fmt.Println(page)
  14360. // return pageNum <= 3
  14361. // })
  14362. //
  14363. func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
  14364. return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  14365. }
  14366. // DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
  14367. // it takes a Context and allows setting request options on the pages.
  14368. //
  14369. // The context must be non-nil and will be used for request cancellation. If
  14370. // the context is nil a panic will occur. In the future the SDK may create
  14371. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14372. // for more information on using Contexts.
  14373. func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
  14374. p := request.Pagination{
  14375. NewRequest: func() (*request.Request, error) {
  14376. var inCpy *DescribeSecurityGroupsInput
  14377. if input != nil {
  14378. tmp := *input
  14379. inCpy = &tmp
  14380. }
  14381. req, _ := c.DescribeSecurityGroupsRequest(inCpy)
  14382. req.SetContext(ctx)
  14383. req.ApplyOptions(opts...)
  14384. return req, nil
  14385. },
  14386. }
  14387. cont := true
  14388. for p.Next() && cont {
  14389. cont = fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage())
  14390. }
  14391. return p.Err()
  14392. }
  14393. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  14394. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  14395. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  14396. // value will be populated with the request's response once the request completes
  14397. // successfully.
  14398. //
  14399. // Use "Send" method on the returned Request to send the API call to the service.
  14400. // the "output" return value is not valid until after Send returns without error.
  14401. //
  14402. // See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
  14403. // API call, and error handling.
  14404. //
  14405. // This method is useful when you want to inject custom logic or configuration
  14406. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14407. //
  14408. //
  14409. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  14410. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  14411. //
  14412. // err := req.Send()
  14413. // if err == nil { // resp is now filled
  14414. // fmt.Println(resp)
  14415. // }
  14416. //
  14417. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  14418. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  14419. op := &request.Operation{
  14420. Name: opDescribeSnapshotAttribute,
  14421. HTTPMethod: "POST",
  14422. HTTPPath: "/",
  14423. }
  14424. if input == nil {
  14425. input = &DescribeSnapshotAttributeInput{}
  14426. }
  14427. output = &DescribeSnapshotAttributeOutput{}
  14428. req = c.newRequest(op, input, output)
  14429. return
  14430. }
  14431. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  14432. //
  14433. // Describes the specified attribute of the specified snapshot. You can specify
  14434. // only one attribute at a time.
  14435. //
  14436. // For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  14437. // in the Amazon Elastic Compute Cloud User Guide.
  14438. //
  14439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14440. // with awserr.Error's Code and Message methods to get detailed information about
  14441. // the error.
  14442. //
  14443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14444. // API operation DescribeSnapshotAttribute for usage and error information.
  14445. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  14446. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  14447. req, out := c.DescribeSnapshotAttributeRequest(input)
  14448. return out, req.Send()
  14449. }
  14450. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  14451. // the ability to pass a context and additional request options.
  14452. //
  14453. // See DescribeSnapshotAttribute for details on how to use this API operation.
  14454. //
  14455. // The context must be non-nil and will be used for request cancellation. If
  14456. // the context is nil a panic will occur. In the future the SDK may create
  14457. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14458. // for more information on using Contexts.
  14459. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  14460. req, out := c.DescribeSnapshotAttributeRequest(input)
  14461. req.SetContext(ctx)
  14462. req.ApplyOptions(opts...)
  14463. return out, req.Send()
  14464. }
  14465. const opDescribeSnapshots = "DescribeSnapshots"
  14466. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  14467. // client's request for the DescribeSnapshots operation. The "output" return
  14468. // value will be populated with the request's response once the request completes
  14469. // successfully.
  14470. //
  14471. // Use "Send" method on the returned Request to send the API call to the service.
  14472. // the "output" return value is not valid until after Send returns without error.
  14473. //
  14474. // See DescribeSnapshots for more information on using the DescribeSnapshots
  14475. // API call, and error handling.
  14476. //
  14477. // This method is useful when you want to inject custom logic or configuration
  14478. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14479. //
  14480. //
  14481. // // Example sending a request using the DescribeSnapshotsRequest method.
  14482. // req, resp := client.DescribeSnapshotsRequest(params)
  14483. //
  14484. // err := req.Send()
  14485. // if err == nil { // resp is now filled
  14486. // fmt.Println(resp)
  14487. // }
  14488. //
  14489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  14490. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  14491. op := &request.Operation{
  14492. Name: opDescribeSnapshots,
  14493. HTTPMethod: "POST",
  14494. HTTPPath: "/",
  14495. Paginator: &request.Paginator{
  14496. InputTokens: []string{"NextToken"},
  14497. OutputTokens: []string{"NextToken"},
  14498. LimitToken: "MaxResults",
  14499. TruncationToken: "",
  14500. },
  14501. }
  14502. if input == nil {
  14503. input = &DescribeSnapshotsInput{}
  14504. }
  14505. output = &DescribeSnapshotsOutput{}
  14506. req = c.newRequest(op, input, output)
  14507. return
  14508. }
  14509. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  14510. //
  14511. // Describes one or more of the EBS snapshots available to you. Available snapshots
  14512. // include public snapshots available for use by any AWS account, private snapshots
  14513. // that you own, and private snapshots owned by another AWS account for which
  14514. // you've been given explicit create volume permissions.
  14515. //
  14516. // The create volume permissions fall into the following categories:
  14517. //
  14518. // * public: The owner of the snapshot granted create volume permissions
  14519. // for the snapshot to the all group. All AWS accounts have create volume
  14520. // permissions for these snapshots.
  14521. //
  14522. // * explicit: The owner of the snapshot granted create volume permissions
  14523. // to a specific AWS account.
  14524. //
  14525. // * implicit: An AWS account has implicit create volume permissions for
  14526. // all snapshots it owns.
  14527. //
  14528. // The list of snapshots returned can be modified by specifying snapshot IDs,
  14529. // snapshot owners, or AWS accounts with create volume permissions. If no options
  14530. // are specified, Amazon EC2 returns all snapshots for which you have create
  14531. // volume permissions.
  14532. //
  14533. // If you specify one or more snapshot IDs, only snapshots that have the specified
  14534. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  14535. // If you specify a snapshot ID for which you do not have access, it is not
  14536. // included in the returned results.
  14537. //
  14538. // If you specify one or more snapshot owners using the OwnerIds option, only
  14539. // snapshots from the specified owners and for which you have access are returned.
  14540. // The results can include the AWS account IDs of the specified owners, amazon
  14541. // for snapshots owned by Amazon, or self for snapshots that you own.
  14542. //
  14543. // If you specify a list of restorable users, only snapshots with create snapshot
  14544. // permissions for those users are returned. You can specify AWS account IDs
  14545. // (if you own the snapshots), self for snapshots for which you own or have
  14546. // explicit permissions, or all for public snapshots.
  14547. //
  14548. // If you are describing a long list of snapshots, you can paginate the output
  14549. // to make the list more manageable. The MaxResults parameter sets the maximum
  14550. // number of results returned in a single page. If the list of results exceeds
  14551. // your MaxResults value, then that number of results is returned along with
  14552. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  14553. // to retrieve the remaining results.
  14554. //
  14555. // For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  14556. // in the Amazon Elastic Compute Cloud User Guide.
  14557. //
  14558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14559. // with awserr.Error's Code and Message methods to get detailed information about
  14560. // the error.
  14561. //
  14562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14563. // API operation DescribeSnapshots for usage and error information.
  14564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  14565. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  14566. req, out := c.DescribeSnapshotsRequest(input)
  14567. return out, req.Send()
  14568. }
  14569. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  14570. // the ability to pass a context and additional request options.
  14571. //
  14572. // See DescribeSnapshots for details on how to use this API operation.
  14573. //
  14574. // The context must be non-nil and will be used for request cancellation. If
  14575. // the context is nil a panic will occur. In the future the SDK may create
  14576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14577. // for more information on using Contexts.
  14578. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  14579. req, out := c.DescribeSnapshotsRequest(input)
  14580. req.SetContext(ctx)
  14581. req.ApplyOptions(opts...)
  14582. return out, req.Send()
  14583. }
  14584. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  14585. // calling the "fn" function with the response data for each page. To stop
  14586. // iterating, return false from the fn function.
  14587. //
  14588. // See DescribeSnapshots method for more information on how to use this operation.
  14589. //
  14590. // Note: This operation can generate multiple requests to a service.
  14591. //
  14592. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  14593. // pageNum := 0
  14594. // err := client.DescribeSnapshotsPages(params,
  14595. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  14596. // pageNum++
  14597. // fmt.Println(page)
  14598. // return pageNum <= 3
  14599. // })
  14600. //
  14601. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  14602. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  14603. }
  14604. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  14605. // it takes a Context and allows setting request options on the pages.
  14606. //
  14607. // The context must be non-nil and will be used for request cancellation. If
  14608. // the context is nil a panic will occur. In the future the SDK may create
  14609. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14610. // for more information on using Contexts.
  14611. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  14612. p := request.Pagination{
  14613. NewRequest: func() (*request.Request, error) {
  14614. var inCpy *DescribeSnapshotsInput
  14615. if input != nil {
  14616. tmp := *input
  14617. inCpy = &tmp
  14618. }
  14619. req, _ := c.DescribeSnapshotsRequest(inCpy)
  14620. req.SetContext(ctx)
  14621. req.ApplyOptions(opts...)
  14622. return req, nil
  14623. },
  14624. }
  14625. cont := true
  14626. for p.Next() && cont {
  14627. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  14628. }
  14629. return p.Err()
  14630. }
  14631. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  14632. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  14633. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  14634. // value will be populated with the request's response once the request completes
  14635. // successfully.
  14636. //
  14637. // Use "Send" method on the returned Request to send the API call to the service.
  14638. // the "output" return value is not valid until after Send returns without error.
  14639. //
  14640. // See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
  14641. // API call, and error handling.
  14642. //
  14643. // This method is useful when you want to inject custom logic or configuration
  14644. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14645. //
  14646. //
  14647. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  14648. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  14649. //
  14650. // err := req.Send()
  14651. // if err == nil { // resp is now filled
  14652. // fmt.Println(resp)
  14653. // }
  14654. //
  14655. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  14656. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  14657. op := &request.Operation{
  14658. Name: opDescribeSpotDatafeedSubscription,
  14659. HTTPMethod: "POST",
  14660. HTTPPath: "/",
  14661. }
  14662. if input == nil {
  14663. input = &DescribeSpotDatafeedSubscriptionInput{}
  14664. }
  14665. output = &DescribeSpotDatafeedSubscriptionOutput{}
  14666. req = c.newRequest(op, input, output)
  14667. return
  14668. }
  14669. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  14670. //
  14671. // Describes the data feed for Spot Instances. For more information, see Spot
  14672. // Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  14673. // in the Amazon EC2 User Guide for Linux Instances.
  14674. //
  14675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14676. // with awserr.Error's Code and Message methods to get detailed information about
  14677. // the error.
  14678. //
  14679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14680. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  14681. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  14682. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  14683. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  14684. return out, req.Send()
  14685. }
  14686. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  14687. // the ability to pass a context and additional request options.
  14688. //
  14689. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  14690. //
  14691. // The context must be non-nil and will be used for request cancellation. If
  14692. // the context is nil a panic will occur. In the future the SDK may create
  14693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14694. // for more information on using Contexts.
  14695. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  14696. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  14697. req.SetContext(ctx)
  14698. req.ApplyOptions(opts...)
  14699. return out, req.Send()
  14700. }
  14701. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  14702. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  14703. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  14704. // value will be populated with the request's response once the request completes
  14705. // successfully.
  14706. //
  14707. // Use "Send" method on the returned Request to send the API call to the service.
  14708. // the "output" return value is not valid until after Send returns without error.
  14709. //
  14710. // See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
  14711. // API call, and error handling.
  14712. //
  14713. // This method is useful when you want to inject custom logic or configuration
  14714. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14715. //
  14716. //
  14717. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  14718. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  14719. //
  14720. // err := req.Send()
  14721. // if err == nil { // resp is now filled
  14722. // fmt.Println(resp)
  14723. // }
  14724. //
  14725. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  14726. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  14727. op := &request.Operation{
  14728. Name: opDescribeSpotFleetInstances,
  14729. HTTPMethod: "POST",
  14730. HTTPPath: "/",
  14731. }
  14732. if input == nil {
  14733. input = &DescribeSpotFleetInstancesInput{}
  14734. }
  14735. output = &DescribeSpotFleetInstancesOutput{}
  14736. req = c.newRequest(op, input, output)
  14737. return
  14738. }
  14739. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  14740. //
  14741. // Describes the running instances for the specified Spot Fleet.
  14742. //
  14743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14744. // with awserr.Error's Code and Message methods to get detailed information about
  14745. // the error.
  14746. //
  14747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14748. // API operation DescribeSpotFleetInstances for usage and error information.
  14749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  14750. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  14751. req, out := c.DescribeSpotFleetInstancesRequest(input)
  14752. return out, req.Send()
  14753. }
  14754. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  14755. // the ability to pass a context and additional request options.
  14756. //
  14757. // See DescribeSpotFleetInstances for details on how to use this API operation.
  14758. //
  14759. // The context must be non-nil and will be used for request cancellation. If
  14760. // the context is nil a panic will occur. In the future the SDK may create
  14761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14762. // for more information on using Contexts.
  14763. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  14764. req, out := c.DescribeSpotFleetInstancesRequest(input)
  14765. req.SetContext(ctx)
  14766. req.ApplyOptions(opts...)
  14767. return out, req.Send()
  14768. }
  14769. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  14770. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  14771. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  14772. // value will be populated with the request's response once the request completes
  14773. // successfully.
  14774. //
  14775. // Use "Send" method on the returned Request to send the API call to the service.
  14776. // the "output" return value is not valid until after Send returns without error.
  14777. //
  14778. // See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
  14779. // API call, and error handling.
  14780. //
  14781. // This method is useful when you want to inject custom logic or configuration
  14782. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14783. //
  14784. //
  14785. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  14786. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  14787. //
  14788. // err := req.Send()
  14789. // if err == nil { // resp is now filled
  14790. // fmt.Println(resp)
  14791. // }
  14792. //
  14793. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  14794. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  14795. op := &request.Operation{
  14796. Name: opDescribeSpotFleetRequestHistory,
  14797. HTTPMethod: "POST",
  14798. HTTPPath: "/",
  14799. }
  14800. if input == nil {
  14801. input = &DescribeSpotFleetRequestHistoryInput{}
  14802. }
  14803. output = &DescribeSpotFleetRequestHistoryOutput{}
  14804. req = c.newRequest(op, input, output)
  14805. return
  14806. }
  14807. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  14808. //
  14809. // Describes the events for the specified Spot Fleet request during the specified
  14810. // time.
  14811. //
  14812. // Spot Fleet events are delayed by up to 30 seconds before they can be described.
  14813. // This ensures that you can query by the last evaluated time and not miss a
  14814. // recorded event. Spot Fleet events are available for 48 hours.
  14815. //
  14816. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14817. // with awserr.Error's Code and Message methods to get detailed information about
  14818. // the error.
  14819. //
  14820. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14821. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  14822. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  14823. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  14824. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  14825. return out, req.Send()
  14826. }
  14827. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  14828. // the ability to pass a context and additional request options.
  14829. //
  14830. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  14831. //
  14832. // The context must be non-nil and will be used for request cancellation. If
  14833. // the context is nil a panic will occur. In the future the SDK may create
  14834. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14835. // for more information on using Contexts.
  14836. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  14837. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  14838. req.SetContext(ctx)
  14839. req.ApplyOptions(opts...)
  14840. return out, req.Send()
  14841. }
  14842. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  14843. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  14844. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  14845. // value will be populated with the request's response once the request completes
  14846. // successfully.
  14847. //
  14848. // Use "Send" method on the returned Request to send the API call to the service.
  14849. // the "output" return value is not valid until after Send returns without error.
  14850. //
  14851. // See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
  14852. // API call, and error handling.
  14853. //
  14854. // This method is useful when you want to inject custom logic or configuration
  14855. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14856. //
  14857. //
  14858. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  14859. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  14860. //
  14861. // err := req.Send()
  14862. // if err == nil { // resp is now filled
  14863. // fmt.Println(resp)
  14864. // }
  14865. //
  14866. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  14867. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  14868. op := &request.Operation{
  14869. Name: opDescribeSpotFleetRequests,
  14870. HTTPMethod: "POST",
  14871. HTTPPath: "/",
  14872. Paginator: &request.Paginator{
  14873. InputTokens: []string{"NextToken"},
  14874. OutputTokens: []string{"NextToken"},
  14875. LimitToken: "MaxResults",
  14876. TruncationToken: "",
  14877. },
  14878. }
  14879. if input == nil {
  14880. input = &DescribeSpotFleetRequestsInput{}
  14881. }
  14882. output = &DescribeSpotFleetRequestsOutput{}
  14883. req = c.newRequest(op, input, output)
  14884. return
  14885. }
  14886. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  14887. //
  14888. // Describes your Spot Fleet requests.
  14889. //
  14890. // Spot Fleet requests are deleted 48 hours after they are canceled and their
  14891. // instances are terminated.
  14892. //
  14893. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14894. // with awserr.Error's Code and Message methods to get detailed information about
  14895. // the error.
  14896. //
  14897. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14898. // API operation DescribeSpotFleetRequests for usage and error information.
  14899. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  14900. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  14901. req, out := c.DescribeSpotFleetRequestsRequest(input)
  14902. return out, req.Send()
  14903. }
  14904. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  14905. // the ability to pass a context and additional request options.
  14906. //
  14907. // See DescribeSpotFleetRequests for details on how to use this API operation.
  14908. //
  14909. // The context must be non-nil and will be used for request cancellation. If
  14910. // the context is nil a panic will occur. In the future the SDK may create
  14911. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14912. // for more information on using Contexts.
  14913. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  14914. req, out := c.DescribeSpotFleetRequestsRequest(input)
  14915. req.SetContext(ctx)
  14916. req.ApplyOptions(opts...)
  14917. return out, req.Send()
  14918. }
  14919. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  14920. // calling the "fn" function with the response data for each page. To stop
  14921. // iterating, return false from the fn function.
  14922. //
  14923. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  14924. //
  14925. // Note: This operation can generate multiple requests to a service.
  14926. //
  14927. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  14928. // pageNum := 0
  14929. // err := client.DescribeSpotFleetRequestsPages(params,
  14930. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  14931. // pageNum++
  14932. // fmt.Println(page)
  14933. // return pageNum <= 3
  14934. // })
  14935. //
  14936. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  14937. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  14938. }
  14939. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  14940. // it takes a Context and allows setting request options on the pages.
  14941. //
  14942. // The context must be non-nil and will be used for request cancellation. If
  14943. // the context is nil a panic will occur. In the future the SDK may create
  14944. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14945. // for more information on using Contexts.
  14946. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  14947. p := request.Pagination{
  14948. NewRequest: func() (*request.Request, error) {
  14949. var inCpy *DescribeSpotFleetRequestsInput
  14950. if input != nil {
  14951. tmp := *input
  14952. inCpy = &tmp
  14953. }
  14954. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  14955. req.SetContext(ctx)
  14956. req.ApplyOptions(opts...)
  14957. return req, nil
  14958. },
  14959. }
  14960. cont := true
  14961. for p.Next() && cont {
  14962. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  14963. }
  14964. return p.Err()
  14965. }
  14966. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  14967. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  14968. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  14969. // value will be populated with the request's response once the request completes
  14970. // successfully.
  14971. //
  14972. // Use "Send" method on the returned Request to send the API call to the service.
  14973. // the "output" return value is not valid until after Send returns without error.
  14974. //
  14975. // See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
  14976. // API call, and error handling.
  14977. //
  14978. // This method is useful when you want to inject custom logic or configuration
  14979. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  14980. //
  14981. //
  14982. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  14983. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  14984. //
  14985. // err := req.Send()
  14986. // if err == nil { // resp is now filled
  14987. // fmt.Println(resp)
  14988. // }
  14989. //
  14990. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  14991. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  14992. op := &request.Operation{
  14993. Name: opDescribeSpotInstanceRequests,
  14994. HTTPMethod: "POST",
  14995. HTTPPath: "/",
  14996. }
  14997. if input == nil {
  14998. input = &DescribeSpotInstanceRequestsInput{}
  14999. }
  15000. output = &DescribeSpotInstanceRequestsOutput{}
  15001. req = c.newRequest(op, input, output)
  15002. return
  15003. }
  15004. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  15005. //
  15006. // Describes the specified Spot Instance requests.
  15007. //
  15008. // You can use DescribeSpotInstanceRequests to find a running Spot Instance
  15009. // by examining the response. If the status of the Spot Instance is fulfilled,
  15010. // the instance ID appears in the response and contains the identifier of the
  15011. // instance. Alternatively, you can use DescribeInstances with a filter to look
  15012. // for instances where the instance lifecycle is spot.
  15013. //
  15014. // We recommend that you set MaxResults to a value between 5 and 1000 to limit
  15015. // the number of results returned. This paginates the output, which makes the
  15016. // list more manageable and returns the results faster. If the list of results
  15017. // exceeds your MaxResults value, then that number of results is returned along
  15018. // with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
  15019. // request to retrieve the remaining results.
  15020. //
  15021. // Spot Instance requests are deleted four hours after they are canceled and
  15022. // their instances are terminated.
  15023. //
  15024. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15025. // with awserr.Error's Code and Message methods to get detailed information about
  15026. // the error.
  15027. //
  15028. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15029. // API operation DescribeSpotInstanceRequests for usage and error information.
  15030. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  15031. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  15032. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  15033. return out, req.Send()
  15034. }
  15035. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  15036. // the ability to pass a context and additional request options.
  15037. //
  15038. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  15039. //
  15040. // The context must be non-nil and will be used for request cancellation. If
  15041. // the context is nil a panic will occur. In the future the SDK may create
  15042. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15043. // for more information on using Contexts.
  15044. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  15045. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  15046. req.SetContext(ctx)
  15047. req.ApplyOptions(opts...)
  15048. return out, req.Send()
  15049. }
  15050. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  15051. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  15052. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  15053. // value will be populated with the request's response once the request completes
  15054. // successfully.
  15055. //
  15056. // Use "Send" method on the returned Request to send the API call to the service.
  15057. // the "output" return value is not valid until after Send returns without error.
  15058. //
  15059. // See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
  15060. // API call, and error handling.
  15061. //
  15062. // This method is useful when you want to inject custom logic or configuration
  15063. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15064. //
  15065. //
  15066. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  15067. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  15068. //
  15069. // err := req.Send()
  15070. // if err == nil { // resp is now filled
  15071. // fmt.Println(resp)
  15072. // }
  15073. //
  15074. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  15075. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  15076. op := &request.Operation{
  15077. Name: opDescribeSpotPriceHistory,
  15078. HTTPMethod: "POST",
  15079. HTTPPath: "/",
  15080. Paginator: &request.Paginator{
  15081. InputTokens: []string{"NextToken"},
  15082. OutputTokens: []string{"NextToken"},
  15083. LimitToken: "MaxResults",
  15084. TruncationToken: "",
  15085. },
  15086. }
  15087. if input == nil {
  15088. input = &DescribeSpotPriceHistoryInput{}
  15089. }
  15090. output = &DescribeSpotPriceHistoryOutput{}
  15091. req = c.newRequest(op, input, output)
  15092. return
  15093. }
  15094. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  15095. //
  15096. // Describes the Spot price history. For more information, see Spot Instance
  15097. // Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  15098. // in the Amazon EC2 User Guide for Linux Instances.
  15099. //
  15100. // When you specify a start and end time, this operation returns the prices
  15101. // of the instance types within the time range that you specified and the time
  15102. // when the price changed. The price is valid within the time period that you
  15103. // specified; the response merely indicates the last time that the price changed.
  15104. //
  15105. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15106. // with awserr.Error's Code and Message methods to get detailed information about
  15107. // the error.
  15108. //
  15109. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15110. // API operation DescribeSpotPriceHistory for usage and error information.
  15111. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  15112. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  15113. req, out := c.DescribeSpotPriceHistoryRequest(input)
  15114. return out, req.Send()
  15115. }
  15116. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  15117. // the ability to pass a context and additional request options.
  15118. //
  15119. // See DescribeSpotPriceHistory for details on how to use this API operation.
  15120. //
  15121. // The context must be non-nil and will be used for request cancellation. If
  15122. // the context is nil a panic will occur. In the future the SDK may create
  15123. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15124. // for more information on using Contexts.
  15125. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  15126. req, out := c.DescribeSpotPriceHistoryRequest(input)
  15127. req.SetContext(ctx)
  15128. req.ApplyOptions(opts...)
  15129. return out, req.Send()
  15130. }
  15131. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  15132. // calling the "fn" function with the response data for each page. To stop
  15133. // iterating, return false from the fn function.
  15134. //
  15135. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  15136. //
  15137. // Note: This operation can generate multiple requests to a service.
  15138. //
  15139. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  15140. // pageNum := 0
  15141. // err := client.DescribeSpotPriceHistoryPages(params,
  15142. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  15143. // pageNum++
  15144. // fmt.Println(page)
  15145. // return pageNum <= 3
  15146. // })
  15147. //
  15148. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  15149. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  15150. }
  15151. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  15152. // it takes a Context and allows setting request options on the pages.
  15153. //
  15154. // The context must be non-nil and will be used for request cancellation. If
  15155. // the context is nil a panic will occur. In the future the SDK may create
  15156. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15157. // for more information on using Contexts.
  15158. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  15159. p := request.Pagination{
  15160. NewRequest: func() (*request.Request, error) {
  15161. var inCpy *DescribeSpotPriceHistoryInput
  15162. if input != nil {
  15163. tmp := *input
  15164. inCpy = &tmp
  15165. }
  15166. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  15167. req.SetContext(ctx)
  15168. req.ApplyOptions(opts...)
  15169. return req, nil
  15170. },
  15171. }
  15172. cont := true
  15173. for p.Next() && cont {
  15174. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  15175. }
  15176. return p.Err()
  15177. }
  15178. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  15179. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  15180. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  15181. // value will be populated with the request's response once the request completes
  15182. // successfully.
  15183. //
  15184. // Use "Send" method on the returned Request to send the API call to the service.
  15185. // the "output" return value is not valid until after Send returns without error.
  15186. //
  15187. // See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
  15188. // API call, and error handling.
  15189. //
  15190. // This method is useful when you want to inject custom logic or configuration
  15191. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15192. //
  15193. //
  15194. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  15195. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  15196. //
  15197. // err := req.Send()
  15198. // if err == nil { // resp is now filled
  15199. // fmt.Println(resp)
  15200. // }
  15201. //
  15202. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  15203. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  15204. op := &request.Operation{
  15205. Name: opDescribeStaleSecurityGroups,
  15206. HTTPMethod: "POST",
  15207. HTTPPath: "/",
  15208. }
  15209. if input == nil {
  15210. input = &DescribeStaleSecurityGroupsInput{}
  15211. }
  15212. output = &DescribeStaleSecurityGroupsOutput{}
  15213. req = c.newRequest(op, input, output)
  15214. return
  15215. }
  15216. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  15217. //
  15218. // [EC2-VPC only] Describes the stale security group rules for security groups
  15219. // in a specified VPC. Rules are stale when they reference a deleted security
  15220. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  15221. // peering connection has been deleted.
  15222. //
  15223. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15224. // with awserr.Error's Code and Message methods to get detailed information about
  15225. // the error.
  15226. //
  15227. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15228. // API operation DescribeStaleSecurityGroups for usage and error information.
  15229. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  15230. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  15231. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  15232. return out, req.Send()
  15233. }
  15234. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  15235. // the ability to pass a context and additional request options.
  15236. //
  15237. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  15238. //
  15239. // The context must be non-nil and will be used for request cancellation. If
  15240. // the context is nil a panic will occur. In the future the SDK may create
  15241. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15242. // for more information on using Contexts.
  15243. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  15244. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  15245. req.SetContext(ctx)
  15246. req.ApplyOptions(opts...)
  15247. return out, req.Send()
  15248. }
  15249. const opDescribeSubnets = "DescribeSubnets"
  15250. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  15251. // client's request for the DescribeSubnets operation. The "output" return
  15252. // value will be populated with the request's response once the request completes
  15253. // successfully.
  15254. //
  15255. // Use "Send" method on the returned Request to send the API call to the service.
  15256. // the "output" return value is not valid until after Send returns without error.
  15257. //
  15258. // See DescribeSubnets for more information on using the DescribeSubnets
  15259. // API call, and error handling.
  15260. //
  15261. // This method is useful when you want to inject custom logic or configuration
  15262. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15263. //
  15264. //
  15265. // // Example sending a request using the DescribeSubnetsRequest method.
  15266. // req, resp := client.DescribeSubnetsRequest(params)
  15267. //
  15268. // err := req.Send()
  15269. // if err == nil { // resp is now filled
  15270. // fmt.Println(resp)
  15271. // }
  15272. //
  15273. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  15274. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  15275. op := &request.Operation{
  15276. Name: opDescribeSubnets,
  15277. HTTPMethod: "POST",
  15278. HTTPPath: "/",
  15279. }
  15280. if input == nil {
  15281. input = &DescribeSubnetsInput{}
  15282. }
  15283. output = &DescribeSubnetsOutput{}
  15284. req = c.newRequest(op, input, output)
  15285. return
  15286. }
  15287. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  15288. //
  15289. // Describes one or more of your subnets.
  15290. //
  15291. // For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  15292. // in the Amazon Virtual Private Cloud User Guide.
  15293. //
  15294. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15295. // with awserr.Error's Code and Message methods to get detailed information about
  15296. // the error.
  15297. //
  15298. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15299. // API operation DescribeSubnets for usage and error information.
  15300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  15301. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  15302. req, out := c.DescribeSubnetsRequest(input)
  15303. return out, req.Send()
  15304. }
  15305. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  15306. // the ability to pass a context and additional request options.
  15307. //
  15308. // See DescribeSubnets for details on how to use this API operation.
  15309. //
  15310. // The context must be non-nil and will be used for request cancellation. If
  15311. // the context is nil a panic will occur. In the future the SDK may create
  15312. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15313. // for more information on using Contexts.
  15314. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  15315. req, out := c.DescribeSubnetsRequest(input)
  15316. req.SetContext(ctx)
  15317. req.ApplyOptions(opts...)
  15318. return out, req.Send()
  15319. }
  15320. const opDescribeTags = "DescribeTags"
  15321. // DescribeTagsRequest generates a "aws/request.Request" representing the
  15322. // client's request for the DescribeTags operation. The "output" return
  15323. // value will be populated with the request's response once the request completes
  15324. // successfully.
  15325. //
  15326. // Use "Send" method on the returned Request to send the API call to the service.
  15327. // the "output" return value is not valid until after Send returns without error.
  15328. //
  15329. // See DescribeTags for more information on using the DescribeTags
  15330. // API call, and error handling.
  15331. //
  15332. // This method is useful when you want to inject custom logic or configuration
  15333. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15334. //
  15335. //
  15336. // // Example sending a request using the DescribeTagsRequest method.
  15337. // req, resp := client.DescribeTagsRequest(params)
  15338. //
  15339. // err := req.Send()
  15340. // if err == nil { // resp is now filled
  15341. // fmt.Println(resp)
  15342. // }
  15343. //
  15344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  15345. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  15346. op := &request.Operation{
  15347. Name: opDescribeTags,
  15348. HTTPMethod: "POST",
  15349. HTTPPath: "/",
  15350. Paginator: &request.Paginator{
  15351. InputTokens: []string{"NextToken"},
  15352. OutputTokens: []string{"NextToken"},
  15353. LimitToken: "MaxResults",
  15354. TruncationToken: "",
  15355. },
  15356. }
  15357. if input == nil {
  15358. input = &DescribeTagsInput{}
  15359. }
  15360. output = &DescribeTagsOutput{}
  15361. req = c.newRequest(op, input, output)
  15362. return
  15363. }
  15364. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  15365. //
  15366. // Describes one or more of the tags for your EC2 resources.
  15367. //
  15368. // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  15369. // in the Amazon Elastic Compute Cloud User Guide.
  15370. //
  15371. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15372. // with awserr.Error's Code and Message methods to get detailed information about
  15373. // the error.
  15374. //
  15375. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15376. // API operation DescribeTags for usage and error information.
  15377. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  15378. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  15379. req, out := c.DescribeTagsRequest(input)
  15380. return out, req.Send()
  15381. }
  15382. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  15383. // the ability to pass a context and additional request options.
  15384. //
  15385. // See DescribeTags for details on how to use this API operation.
  15386. //
  15387. // The context must be non-nil and will be used for request cancellation. If
  15388. // the context is nil a panic will occur. In the future the SDK may create
  15389. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15390. // for more information on using Contexts.
  15391. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  15392. req, out := c.DescribeTagsRequest(input)
  15393. req.SetContext(ctx)
  15394. req.ApplyOptions(opts...)
  15395. return out, req.Send()
  15396. }
  15397. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  15398. // calling the "fn" function with the response data for each page. To stop
  15399. // iterating, return false from the fn function.
  15400. //
  15401. // See DescribeTags method for more information on how to use this operation.
  15402. //
  15403. // Note: This operation can generate multiple requests to a service.
  15404. //
  15405. // // Example iterating over at most 3 pages of a DescribeTags operation.
  15406. // pageNum := 0
  15407. // err := client.DescribeTagsPages(params,
  15408. // func(page *DescribeTagsOutput, lastPage bool) bool {
  15409. // pageNum++
  15410. // fmt.Println(page)
  15411. // return pageNum <= 3
  15412. // })
  15413. //
  15414. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  15415. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  15416. }
  15417. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  15418. // it takes a Context and allows setting request options on the pages.
  15419. //
  15420. // The context must be non-nil and will be used for request cancellation. If
  15421. // the context is nil a panic will occur. In the future the SDK may create
  15422. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15423. // for more information on using Contexts.
  15424. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  15425. p := request.Pagination{
  15426. NewRequest: func() (*request.Request, error) {
  15427. var inCpy *DescribeTagsInput
  15428. if input != nil {
  15429. tmp := *input
  15430. inCpy = &tmp
  15431. }
  15432. req, _ := c.DescribeTagsRequest(inCpy)
  15433. req.SetContext(ctx)
  15434. req.ApplyOptions(opts...)
  15435. return req, nil
  15436. },
  15437. }
  15438. cont := true
  15439. for p.Next() && cont {
  15440. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  15441. }
  15442. return p.Err()
  15443. }
  15444. const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
  15445. // DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
  15446. // client's request for the DescribeTransitGatewayAttachments operation. The "output" return
  15447. // value will be populated with the request's response once the request completes
  15448. // successfully.
  15449. //
  15450. // Use "Send" method on the returned Request to send the API call to the service.
  15451. // the "output" return value is not valid until after Send returns without error.
  15452. //
  15453. // See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
  15454. // API call, and error handling.
  15455. //
  15456. // This method is useful when you want to inject custom logic or configuration
  15457. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15458. //
  15459. //
  15460. // // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
  15461. // req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
  15462. //
  15463. // err := req.Send()
  15464. // if err == nil { // resp is now filled
  15465. // fmt.Println(resp)
  15466. // }
  15467. //
  15468. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
  15469. func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
  15470. op := &request.Operation{
  15471. Name: opDescribeTransitGatewayAttachments,
  15472. HTTPMethod: "POST",
  15473. HTTPPath: "/",
  15474. }
  15475. if input == nil {
  15476. input = &DescribeTransitGatewayAttachmentsInput{}
  15477. }
  15478. output = &DescribeTransitGatewayAttachmentsOutput{}
  15479. req = c.newRequest(op, input, output)
  15480. return
  15481. }
  15482. // DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
  15483. //
  15484. // Describes one or more attachments between resources and transit gateways.
  15485. // By default, all attachments are described. Alternatively, you can filter
  15486. // the results by attachment ID, attachment state, resource ID, or resource
  15487. // owner.
  15488. //
  15489. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15490. // with awserr.Error's Code and Message methods to get detailed information about
  15491. // the error.
  15492. //
  15493. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15494. // API operation DescribeTransitGatewayAttachments for usage and error information.
  15495. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
  15496. func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
  15497. req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
  15498. return out, req.Send()
  15499. }
  15500. // DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
  15501. // the ability to pass a context and additional request options.
  15502. //
  15503. // See DescribeTransitGatewayAttachments for details on how to use this API operation.
  15504. //
  15505. // The context must be non-nil and will be used for request cancellation. If
  15506. // the context is nil a panic will occur. In the future the SDK may create
  15507. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15508. // for more information on using Contexts.
  15509. func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
  15510. req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
  15511. req.SetContext(ctx)
  15512. req.ApplyOptions(opts...)
  15513. return out, req.Send()
  15514. }
  15515. const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
  15516. // DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
  15517. // client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
  15518. // value will be populated with the request's response once the request completes
  15519. // successfully.
  15520. //
  15521. // Use "Send" method on the returned Request to send the API call to the service.
  15522. // the "output" return value is not valid until after Send returns without error.
  15523. //
  15524. // See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
  15525. // API call, and error handling.
  15526. //
  15527. // This method is useful when you want to inject custom logic or configuration
  15528. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15529. //
  15530. //
  15531. // // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
  15532. // req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
  15533. //
  15534. // err := req.Send()
  15535. // if err == nil { // resp is now filled
  15536. // fmt.Println(resp)
  15537. // }
  15538. //
  15539. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
  15540. func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
  15541. op := &request.Operation{
  15542. Name: opDescribeTransitGatewayRouteTables,
  15543. HTTPMethod: "POST",
  15544. HTTPPath: "/",
  15545. }
  15546. if input == nil {
  15547. input = &DescribeTransitGatewayRouteTablesInput{}
  15548. }
  15549. output = &DescribeTransitGatewayRouteTablesOutput{}
  15550. req = c.newRequest(op, input, output)
  15551. return
  15552. }
  15553. // DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
  15554. //
  15555. // Describes one or more transit gateway route tables. By default, all transit
  15556. // gateway route tables are described. Alternatively, you can filter the results.
  15557. //
  15558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15559. // with awserr.Error's Code and Message methods to get detailed information about
  15560. // the error.
  15561. //
  15562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15563. // API operation DescribeTransitGatewayRouteTables for usage and error information.
  15564. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
  15565. func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
  15566. req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
  15567. return out, req.Send()
  15568. }
  15569. // DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
  15570. // the ability to pass a context and additional request options.
  15571. //
  15572. // See DescribeTransitGatewayRouteTables for details on how to use this API operation.
  15573. //
  15574. // The context must be non-nil and will be used for request cancellation. If
  15575. // the context is nil a panic will occur. In the future the SDK may create
  15576. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15577. // for more information on using Contexts.
  15578. func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
  15579. req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
  15580. req.SetContext(ctx)
  15581. req.ApplyOptions(opts...)
  15582. return out, req.Send()
  15583. }
  15584. const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
  15585. // DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
  15586. // client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
  15587. // value will be populated with the request's response once the request completes
  15588. // successfully.
  15589. //
  15590. // Use "Send" method on the returned Request to send the API call to the service.
  15591. // the "output" return value is not valid until after Send returns without error.
  15592. //
  15593. // See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
  15594. // API call, and error handling.
  15595. //
  15596. // This method is useful when you want to inject custom logic or configuration
  15597. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15598. //
  15599. //
  15600. // // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
  15601. // req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
  15602. //
  15603. // err := req.Send()
  15604. // if err == nil { // resp is now filled
  15605. // fmt.Println(resp)
  15606. // }
  15607. //
  15608. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
  15609. func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
  15610. op := &request.Operation{
  15611. Name: opDescribeTransitGatewayVpcAttachments,
  15612. HTTPMethod: "POST",
  15613. HTTPPath: "/",
  15614. }
  15615. if input == nil {
  15616. input = &DescribeTransitGatewayVpcAttachmentsInput{}
  15617. }
  15618. output = &DescribeTransitGatewayVpcAttachmentsOutput{}
  15619. req = c.newRequest(op, input, output)
  15620. return
  15621. }
  15622. // DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
  15623. //
  15624. // Describes one or more VPC attachments. By default, all VPC attachments are
  15625. // described. Alternatively, you can filter the results.
  15626. //
  15627. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15628. // with awserr.Error's Code and Message methods to get detailed information about
  15629. // the error.
  15630. //
  15631. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15632. // API operation DescribeTransitGatewayVpcAttachments for usage and error information.
  15633. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
  15634. func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
  15635. req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
  15636. return out, req.Send()
  15637. }
  15638. // DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
  15639. // the ability to pass a context and additional request options.
  15640. //
  15641. // See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
  15642. //
  15643. // The context must be non-nil and will be used for request cancellation. If
  15644. // the context is nil a panic will occur. In the future the SDK may create
  15645. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15646. // for more information on using Contexts.
  15647. func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
  15648. req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
  15649. req.SetContext(ctx)
  15650. req.ApplyOptions(opts...)
  15651. return out, req.Send()
  15652. }
  15653. const opDescribeTransitGateways = "DescribeTransitGateways"
  15654. // DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
  15655. // client's request for the DescribeTransitGateways operation. The "output" return
  15656. // value will be populated with the request's response once the request completes
  15657. // successfully.
  15658. //
  15659. // Use "Send" method on the returned Request to send the API call to the service.
  15660. // the "output" return value is not valid until after Send returns without error.
  15661. //
  15662. // See DescribeTransitGateways for more information on using the DescribeTransitGateways
  15663. // API call, and error handling.
  15664. //
  15665. // This method is useful when you want to inject custom logic or configuration
  15666. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15667. //
  15668. //
  15669. // // Example sending a request using the DescribeTransitGatewaysRequest method.
  15670. // req, resp := client.DescribeTransitGatewaysRequest(params)
  15671. //
  15672. // err := req.Send()
  15673. // if err == nil { // resp is now filled
  15674. // fmt.Println(resp)
  15675. // }
  15676. //
  15677. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
  15678. func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
  15679. op := &request.Operation{
  15680. Name: opDescribeTransitGateways,
  15681. HTTPMethod: "POST",
  15682. HTTPPath: "/",
  15683. }
  15684. if input == nil {
  15685. input = &DescribeTransitGatewaysInput{}
  15686. }
  15687. output = &DescribeTransitGatewaysOutput{}
  15688. req = c.newRequest(op, input, output)
  15689. return
  15690. }
  15691. // DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
  15692. //
  15693. // Describes one or more transit gateways. By default, all transit gateways
  15694. // are described. Alternatively, you can filter the results.
  15695. //
  15696. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15697. // with awserr.Error's Code and Message methods to get detailed information about
  15698. // the error.
  15699. //
  15700. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15701. // API operation DescribeTransitGateways for usage and error information.
  15702. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
  15703. func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
  15704. req, out := c.DescribeTransitGatewaysRequest(input)
  15705. return out, req.Send()
  15706. }
  15707. // DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
  15708. // the ability to pass a context and additional request options.
  15709. //
  15710. // See DescribeTransitGateways for details on how to use this API operation.
  15711. //
  15712. // The context must be non-nil and will be used for request cancellation. If
  15713. // the context is nil a panic will occur. In the future the SDK may create
  15714. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15715. // for more information on using Contexts.
  15716. func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
  15717. req, out := c.DescribeTransitGatewaysRequest(input)
  15718. req.SetContext(ctx)
  15719. req.ApplyOptions(opts...)
  15720. return out, req.Send()
  15721. }
  15722. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  15723. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  15724. // client's request for the DescribeVolumeAttribute operation. The "output" return
  15725. // value will be populated with the request's response once the request completes
  15726. // successfully.
  15727. //
  15728. // Use "Send" method on the returned Request to send the API call to the service.
  15729. // the "output" return value is not valid until after Send returns without error.
  15730. //
  15731. // See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
  15732. // API call, and error handling.
  15733. //
  15734. // This method is useful when you want to inject custom logic or configuration
  15735. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15736. //
  15737. //
  15738. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  15739. // req, resp := client.DescribeVolumeAttributeRequest(params)
  15740. //
  15741. // err := req.Send()
  15742. // if err == nil { // resp is now filled
  15743. // fmt.Println(resp)
  15744. // }
  15745. //
  15746. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  15747. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  15748. op := &request.Operation{
  15749. Name: opDescribeVolumeAttribute,
  15750. HTTPMethod: "POST",
  15751. HTTPPath: "/",
  15752. }
  15753. if input == nil {
  15754. input = &DescribeVolumeAttributeInput{}
  15755. }
  15756. output = &DescribeVolumeAttributeOutput{}
  15757. req = c.newRequest(op, input, output)
  15758. return
  15759. }
  15760. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  15761. //
  15762. // Describes the specified attribute of the specified volume. You can specify
  15763. // only one attribute at a time.
  15764. //
  15765. // For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  15766. // in the Amazon Elastic Compute Cloud User Guide.
  15767. //
  15768. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15769. // with awserr.Error's Code and Message methods to get detailed information about
  15770. // the error.
  15771. //
  15772. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15773. // API operation DescribeVolumeAttribute for usage and error information.
  15774. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  15775. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  15776. req, out := c.DescribeVolumeAttributeRequest(input)
  15777. return out, req.Send()
  15778. }
  15779. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  15780. // the ability to pass a context and additional request options.
  15781. //
  15782. // See DescribeVolumeAttribute for details on how to use this API operation.
  15783. //
  15784. // The context must be non-nil and will be used for request cancellation. If
  15785. // the context is nil a panic will occur. In the future the SDK may create
  15786. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15787. // for more information on using Contexts.
  15788. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  15789. req, out := c.DescribeVolumeAttributeRequest(input)
  15790. req.SetContext(ctx)
  15791. req.ApplyOptions(opts...)
  15792. return out, req.Send()
  15793. }
  15794. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  15795. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  15796. // client's request for the DescribeVolumeStatus operation. The "output" return
  15797. // value will be populated with the request's response once the request completes
  15798. // successfully.
  15799. //
  15800. // Use "Send" method on the returned Request to send the API call to the service.
  15801. // the "output" return value is not valid until after Send returns without error.
  15802. //
  15803. // See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
  15804. // API call, and error handling.
  15805. //
  15806. // This method is useful when you want to inject custom logic or configuration
  15807. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15808. //
  15809. //
  15810. // // Example sending a request using the DescribeVolumeStatusRequest method.
  15811. // req, resp := client.DescribeVolumeStatusRequest(params)
  15812. //
  15813. // err := req.Send()
  15814. // if err == nil { // resp is now filled
  15815. // fmt.Println(resp)
  15816. // }
  15817. //
  15818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  15819. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  15820. op := &request.Operation{
  15821. Name: opDescribeVolumeStatus,
  15822. HTTPMethod: "POST",
  15823. HTTPPath: "/",
  15824. Paginator: &request.Paginator{
  15825. InputTokens: []string{"NextToken"},
  15826. OutputTokens: []string{"NextToken"},
  15827. LimitToken: "MaxResults",
  15828. TruncationToken: "",
  15829. },
  15830. }
  15831. if input == nil {
  15832. input = &DescribeVolumeStatusInput{}
  15833. }
  15834. output = &DescribeVolumeStatusOutput{}
  15835. req = c.newRequest(op, input, output)
  15836. return
  15837. }
  15838. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  15839. //
  15840. // Describes the status of the specified volumes. Volume status provides the
  15841. // result of the checks performed on your volumes to determine events that can
  15842. // impair the performance of your volumes. The performance of a volume can be
  15843. // affected if an issue occurs on the volume's underlying host. If the volume's
  15844. // underlying host experiences a power outage or system issue, after the system
  15845. // is restored, there could be data inconsistencies on the volume. Volume events
  15846. // notify you if this occurs. Volume actions notify you if any action needs
  15847. // to be taken in response to the event.
  15848. //
  15849. // The DescribeVolumeStatus operation provides the following information about
  15850. // the specified volumes:
  15851. //
  15852. // Status: Reflects the current status of the volume. The possible values are
  15853. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  15854. // status of the volume is ok. If the check fails, the overall status is impaired.
  15855. // If the status is insufficient-data, then the checks may still be taking place
  15856. // on your volume at the time. We recommend that you retry the request. For
  15857. // more information about volume status, see Monitoring the Status of Your Volumes
  15858. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
  15859. // in the Amazon Elastic Compute Cloud User Guide.
  15860. //
  15861. // Events: Reflect the cause of a volume status and may require you to take
  15862. // action. For example, if your volume returns an impaired status, then the
  15863. // volume event might be potential-data-inconsistency. This means that your
  15864. // volume has been affected by an issue with the underlying host, has all I/O
  15865. // operations disabled, and may have inconsistent data.
  15866. //
  15867. // Actions: Reflect the actions you may have to take in response to an event.
  15868. // For example, if the status of the volume is impaired and the volume event
  15869. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  15870. // This means that you may want to enable the I/O operations for the volume
  15871. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  15872. //
  15873. // Volume status is based on the volume status checks, and does not reflect
  15874. // the volume state. Therefore, volume status does not indicate volumes in the
  15875. // error state (for example, when a volume is incapable of accepting I/O.)
  15876. //
  15877. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15878. // with awserr.Error's Code and Message methods to get detailed information about
  15879. // the error.
  15880. //
  15881. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15882. // API operation DescribeVolumeStatus for usage and error information.
  15883. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  15884. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  15885. req, out := c.DescribeVolumeStatusRequest(input)
  15886. return out, req.Send()
  15887. }
  15888. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  15889. // the ability to pass a context and additional request options.
  15890. //
  15891. // See DescribeVolumeStatus for details on how to use this API operation.
  15892. //
  15893. // The context must be non-nil and will be used for request cancellation. If
  15894. // the context is nil a panic will occur. In the future the SDK may create
  15895. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15896. // for more information on using Contexts.
  15897. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  15898. req, out := c.DescribeVolumeStatusRequest(input)
  15899. req.SetContext(ctx)
  15900. req.ApplyOptions(opts...)
  15901. return out, req.Send()
  15902. }
  15903. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  15904. // calling the "fn" function with the response data for each page. To stop
  15905. // iterating, return false from the fn function.
  15906. //
  15907. // See DescribeVolumeStatus method for more information on how to use this operation.
  15908. //
  15909. // Note: This operation can generate multiple requests to a service.
  15910. //
  15911. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  15912. // pageNum := 0
  15913. // err := client.DescribeVolumeStatusPages(params,
  15914. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  15915. // pageNum++
  15916. // fmt.Println(page)
  15917. // return pageNum <= 3
  15918. // })
  15919. //
  15920. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  15921. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  15922. }
  15923. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  15924. // it takes a Context and allows setting request options on the pages.
  15925. //
  15926. // The context must be non-nil and will be used for request cancellation. If
  15927. // the context is nil a panic will occur. In the future the SDK may create
  15928. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15929. // for more information on using Contexts.
  15930. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  15931. p := request.Pagination{
  15932. NewRequest: func() (*request.Request, error) {
  15933. var inCpy *DescribeVolumeStatusInput
  15934. if input != nil {
  15935. tmp := *input
  15936. inCpy = &tmp
  15937. }
  15938. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  15939. req.SetContext(ctx)
  15940. req.ApplyOptions(opts...)
  15941. return req, nil
  15942. },
  15943. }
  15944. cont := true
  15945. for p.Next() && cont {
  15946. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  15947. }
  15948. return p.Err()
  15949. }
  15950. const opDescribeVolumes = "DescribeVolumes"
  15951. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  15952. // client's request for the DescribeVolumes operation. The "output" return
  15953. // value will be populated with the request's response once the request completes
  15954. // successfully.
  15955. //
  15956. // Use "Send" method on the returned Request to send the API call to the service.
  15957. // the "output" return value is not valid until after Send returns without error.
  15958. //
  15959. // See DescribeVolumes for more information on using the DescribeVolumes
  15960. // API call, and error handling.
  15961. //
  15962. // This method is useful when you want to inject custom logic or configuration
  15963. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  15964. //
  15965. //
  15966. // // Example sending a request using the DescribeVolumesRequest method.
  15967. // req, resp := client.DescribeVolumesRequest(params)
  15968. //
  15969. // err := req.Send()
  15970. // if err == nil { // resp is now filled
  15971. // fmt.Println(resp)
  15972. // }
  15973. //
  15974. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  15975. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  15976. op := &request.Operation{
  15977. Name: opDescribeVolumes,
  15978. HTTPMethod: "POST",
  15979. HTTPPath: "/",
  15980. Paginator: &request.Paginator{
  15981. InputTokens: []string{"NextToken"},
  15982. OutputTokens: []string{"NextToken"},
  15983. LimitToken: "MaxResults",
  15984. TruncationToken: "",
  15985. },
  15986. }
  15987. if input == nil {
  15988. input = &DescribeVolumesInput{}
  15989. }
  15990. output = &DescribeVolumesOutput{}
  15991. req = c.newRequest(op, input, output)
  15992. return
  15993. }
  15994. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  15995. //
  15996. // Describes the specified EBS volumes.
  15997. //
  15998. // If you are describing a long list of volumes, you can paginate the output
  15999. // to make the list more manageable. The MaxResults parameter sets the maximum
  16000. // number of results returned in a single page. If the list of results exceeds
  16001. // your MaxResults value, then that number of results is returned along with
  16002. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  16003. // to retrieve the remaining results.
  16004. //
  16005. // For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  16006. // in the Amazon Elastic Compute Cloud User Guide.
  16007. //
  16008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16009. // with awserr.Error's Code and Message methods to get detailed information about
  16010. // the error.
  16011. //
  16012. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16013. // API operation DescribeVolumes for usage and error information.
  16014. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  16015. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  16016. req, out := c.DescribeVolumesRequest(input)
  16017. return out, req.Send()
  16018. }
  16019. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  16020. // the ability to pass a context and additional request options.
  16021. //
  16022. // See DescribeVolumes for details on how to use this API operation.
  16023. //
  16024. // The context must be non-nil and will be used for request cancellation. If
  16025. // the context is nil a panic will occur. In the future the SDK may create
  16026. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16027. // for more information on using Contexts.
  16028. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  16029. req, out := c.DescribeVolumesRequest(input)
  16030. req.SetContext(ctx)
  16031. req.ApplyOptions(opts...)
  16032. return out, req.Send()
  16033. }
  16034. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  16035. // calling the "fn" function with the response data for each page. To stop
  16036. // iterating, return false from the fn function.
  16037. //
  16038. // See DescribeVolumes method for more information on how to use this operation.
  16039. //
  16040. // Note: This operation can generate multiple requests to a service.
  16041. //
  16042. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  16043. // pageNum := 0
  16044. // err := client.DescribeVolumesPages(params,
  16045. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  16046. // pageNum++
  16047. // fmt.Println(page)
  16048. // return pageNum <= 3
  16049. // })
  16050. //
  16051. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  16052. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  16053. }
  16054. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  16055. // it takes a Context and allows setting request options on the pages.
  16056. //
  16057. // The context must be non-nil and will be used for request cancellation. If
  16058. // the context is nil a panic will occur. In the future the SDK may create
  16059. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16060. // for more information on using Contexts.
  16061. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  16062. p := request.Pagination{
  16063. NewRequest: func() (*request.Request, error) {
  16064. var inCpy *DescribeVolumesInput
  16065. if input != nil {
  16066. tmp := *input
  16067. inCpy = &tmp
  16068. }
  16069. req, _ := c.DescribeVolumesRequest(inCpy)
  16070. req.SetContext(ctx)
  16071. req.ApplyOptions(opts...)
  16072. return req, nil
  16073. },
  16074. }
  16075. cont := true
  16076. for p.Next() && cont {
  16077. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  16078. }
  16079. return p.Err()
  16080. }
  16081. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  16082. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  16083. // client's request for the DescribeVolumesModifications operation. The "output" return
  16084. // value will be populated with the request's response once the request completes
  16085. // successfully.
  16086. //
  16087. // Use "Send" method on the returned Request to send the API call to the service.
  16088. // the "output" return value is not valid until after Send returns without error.
  16089. //
  16090. // See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
  16091. // API call, and error handling.
  16092. //
  16093. // This method is useful when you want to inject custom logic or configuration
  16094. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16095. //
  16096. //
  16097. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  16098. // req, resp := client.DescribeVolumesModificationsRequest(params)
  16099. //
  16100. // err := req.Send()
  16101. // if err == nil { // resp is now filled
  16102. // fmt.Println(resp)
  16103. // }
  16104. //
  16105. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  16106. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  16107. op := &request.Operation{
  16108. Name: opDescribeVolumesModifications,
  16109. HTTPMethod: "POST",
  16110. HTTPPath: "/",
  16111. }
  16112. if input == nil {
  16113. input = &DescribeVolumesModificationsInput{}
  16114. }
  16115. output = &DescribeVolumesModificationsOutput{}
  16116. req = c.newRequest(op, input, output)
  16117. return
  16118. }
  16119. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  16120. //
  16121. // Reports the current modification status of EBS volumes.
  16122. //
  16123. // Current-generation EBS volumes support modification of attributes including
  16124. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  16125. // to or detached from an instance. Following an action from the API or the
  16126. // console to modify a volume, the status of the modification may be modifying,
  16127. // optimizing, completed, or failed. If a volume has never been modified, then
  16128. // certain elements of the returned VolumeModification objects are null.
  16129. //
  16130. // You can also use CloudWatch Events to check the status of a modification
  16131. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  16132. // CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  16133. // For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
  16134. // in the Amazon Elastic Compute Cloud User Guide.
  16135. //
  16136. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16137. // with awserr.Error's Code and Message methods to get detailed information about
  16138. // the error.
  16139. //
  16140. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16141. // API operation DescribeVolumesModifications for usage and error information.
  16142. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  16143. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  16144. req, out := c.DescribeVolumesModificationsRequest(input)
  16145. return out, req.Send()
  16146. }
  16147. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  16148. // the ability to pass a context and additional request options.
  16149. //
  16150. // See DescribeVolumesModifications for details on how to use this API operation.
  16151. //
  16152. // The context must be non-nil and will be used for request cancellation. If
  16153. // the context is nil a panic will occur. In the future the SDK may create
  16154. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16155. // for more information on using Contexts.
  16156. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  16157. req, out := c.DescribeVolumesModificationsRequest(input)
  16158. req.SetContext(ctx)
  16159. req.ApplyOptions(opts...)
  16160. return out, req.Send()
  16161. }
  16162. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  16163. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  16164. // client's request for the DescribeVpcAttribute operation. The "output" return
  16165. // value will be populated with the request's response once the request completes
  16166. // successfully.
  16167. //
  16168. // Use "Send" method on the returned Request to send the API call to the service.
  16169. // the "output" return value is not valid until after Send returns without error.
  16170. //
  16171. // See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
  16172. // API call, and error handling.
  16173. //
  16174. // This method is useful when you want to inject custom logic or configuration
  16175. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16176. //
  16177. //
  16178. // // Example sending a request using the DescribeVpcAttributeRequest method.
  16179. // req, resp := client.DescribeVpcAttributeRequest(params)
  16180. //
  16181. // err := req.Send()
  16182. // if err == nil { // resp is now filled
  16183. // fmt.Println(resp)
  16184. // }
  16185. //
  16186. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  16187. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  16188. op := &request.Operation{
  16189. Name: opDescribeVpcAttribute,
  16190. HTTPMethod: "POST",
  16191. HTTPPath: "/",
  16192. }
  16193. if input == nil {
  16194. input = &DescribeVpcAttributeInput{}
  16195. }
  16196. output = &DescribeVpcAttributeOutput{}
  16197. req = c.newRequest(op, input, output)
  16198. return
  16199. }
  16200. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  16201. //
  16202. // Describes the specified attribute of the specified VPC. You can specify only
  16203. // one attribute at a time.
  16204. //
  16205. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16206. // with awserr.Error's Code and Message methods to get detailed information about
  16207. // the error.
  16208. //
  16209. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16210. // API operation DescribeVpcAttribute for usage and error information.
  16211. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  16212. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  16213. req, out := c.DescribeVpcAttributeRequest(input)
  16214. return out, req.Send()
  16215. }
  16216. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  16217. // the ability to pass a context and additional request options.
  16218. //
  16219. // See DescribeVpcAttribute for details on how to use this API operation.
  16220. //
  16221. // The context must be non-nil and will be used for request cancellation. If
  16222. // the context is nil a panic will occur. In the future the SDK may create
  16223. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16224. // for more information on using Contexts.
  16225. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  16226. req, out := c.DescribeVpcAttributeRequest(input)
  16227. req.SetContext(ctx)
  16228. req.ApplyOptions(opts...)
  16229. return out, req.Send()
  16230. }
  16231. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  16232. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  16233. // client's request for the DescribeVpcClassicLink operation. The "output" return
  16234. // value will be populated with the request's response once the request completes
  16235. // successfully.
  16236. //
  16237. // Use "Send" method on the returned Request to send the API call to the service.
  16238. // the "output" return value is not valid until after Send returns without error.
  16239. //
  16240. // See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
  16241. // API call, and error handling.
  16242. //
  16243. // This method is useful when you want to inject custom logic or configuration
  16244. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16245. //
  16246. //
  16247. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  16248. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  16249. //
  16250. // err := req.Send()
  16251. // if err == nil { // resp is now filled
  16252. // fmt.Println(resp)
  16253. // }
  16254. //
  16255. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  16256. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  16257. op := &request.Operation{
  16258. Name: opDescribeVpcClassicLink,
  16259. HTTPMethod: "POST",
  16260. HTTPPath: "/",
  16261. }
  16262. if input == nil {
  16263. input = &DescribeVpcClassicLinkInput{}
  16264. }
  16265. output = &DescribeVpcClassicLinkOutput{}
  16266. req = c.newRequest(op, input, output)
  16267. return
  16268. }
  16269. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  16270. //
  16271. // Describes the ClassicLink status of one or more VPCs.
  16272. //
  16273. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16274. // with awserr.Error's Code and Message methods to get detailed information about
  16275. // the error.
  16276. //
  16277. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16278. // API operation DescribeVpcClassicLink for usage and error information.
  16279. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  16280. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  16281. req, out := c.DescribeVpcClassicLinkRequest(input)
  16282. return out, req.Send()
  16283. }
  16284. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  16285. // the ability to pass a context and additional request options.
  16286. //
  16287. // See DescribeVpcClassicLink for details on how to use this API operation.
  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) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  16294. req, out := c.DescribeVpcClassicLinkRequest(input)
  16295. req.SetContext(ctx)
  16296. req.ApplyOptions(opts...)
  16297. return out, req.Send()
  16298. }
  16299. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  16300. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  16301. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  16302. // value will be populated with the request's response once the request completes
  16303. // successfully.
  16304. //
  16305. // Use "Send" method on the returned Request to send the API call to the service.
  16306. // the "output" return value is not valid until after Send returns without error.
  16307. //
  16308. // See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
  16309. // API call, and error handling.
  16310. //
  16311. // This method is useful when you want to inject custom logic or configuration
  16312. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16313. //
  16314. //
  16315. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  16316. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  16317. //
  16318. // err := req.Send()
  16319. // if err == nil { // resp is now filled
  16320. // fmt.Println(resp)
  16321. // }
  16322. //
  16323. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  16324. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  16325. op := &request.Operation{
  16326. Name: opDescribeVpcClassicLinkDnsSupport,
  16327. HTTPMethod: "POST",
  16328. HTTPPath: "/",
  16329. }
  16330. if input == nil {
  16331. input = &DescribeVpcClassicLinkDnsSupportInput{}
  16332. }
  16333. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  16334. req = c.newRequest(op, input, output)
  16335. return
  16336. }
  16337. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  16338. //
  16339. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  16340. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  16341. // IP address when addressed from an instance in the VPC to which it's linked.
  16342. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  16343. // IP address when addressed from a linked EC2-Classic instance. For more information,
  16344. // see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  16345. // in the Amazon Elastic Compute Cloud User Guide.
  16346. //
  16347. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16348. // with awserr.Error's Code and Message methods to get detailed information about
  16349. // the error.
  16350. //
  16351. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16352. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  16353. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  16354. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  16355. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  16356. return out, req.Send()
  16357. }
  16358. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  16359. // the ability to pass a context and additional request options.
  16360. //
  16361. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  16362. //
  16363. // The context must be non-nil and will be used for request cancellation. If
  16364. // the context is nil a panic will occur. In the future the SDK may create
  16365. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16366. // for more information on using Contexts.
  16367. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  16368. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  16369. req.SetContext(ctx)
  16370. req.ApplyOptions(opts...)
  16371. return out, req.Send()
  16372. }
  16373. const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
  16374. // DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
  16375. // client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
  16376. // value will be populated with the request's response once the request completes
  16377. // successfully.
  16378. //
  16379. // Use "Send" method on the returned Request to send the API call to the service.
  16380. // the "output" return value is not valid until after Send returns without error.
  16381. //
  16382. // See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
  16383. // API call, and error handling.
  16384. //
  16385. // This method is useful when you want to inject custom logic or configuration
  16386. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16387. //
  16388. //
  16389. // // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
  16390. // req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
  16391. //
  16392. // err := req.Send()
  16393. // if err == nil { // resp is now filled
  16394. // fmt.Println(resp)
  16395. // }
  16396. //
  16397. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  16398. func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
  16399. op := &request.Operation{
  16400. Name: opDescribeVpcEndpointConnectionNotifications,
  16401. HTTPMethod: "POST",
  16402. HTTPPath: "/",
  16403. }
  16404. if input == nil {
  16405. input = &DescribeVpcEndpointConnectionNotificationsInput{}
  16406. }
  16407. output = &DescribeVpcEndpointConnectionNotificationsOutput{}
  16408. req = c.newRequest(op, input, output)
  16409. return
  16410. }
  16411. // DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
  16412. //
  16413. // Describes the connection notifications for VPC endpoints and VPC endpoint
  16414. // services.
  16415. //
  16416. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16417. // with awserr.Error's Code and Message methods to get detailed information about
  16418. // the error.
  16419. //
  16420. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16421. // API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
  16422. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
  16423. func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  16424. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  16425. return out, req.Send()
  16426. }
  16427. // DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
  16428. // the ability to pass a context and additional request options.
  16429. //
  16430. // See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
  16431. //
  16432. // The context must be non-nil and will be used for request cancellation. If
  16433. // the context is nil a panic will occur. In the future the SDK may create
  16434. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16435. // for more information on using Contexts.
  16436. func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
  16437. req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
  16438. req.SetContext(ctx)
  16439. req.ApplyOptions(opts...)
  16440. return out, req.Send()
  16441. }
  16442. const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
  16443. // DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  16444. // client's request for the DescribeVpcEndpointConnections operation. The "output" return
  16445. // value will be populated with the request's response once the request completes
  16446. // successfully.
  16447. //
  16448. // Use "Send" method on the returned Request to send the API call to the service.
  16449. // the "output" return value is not valid until after Send returns without error.
  16450. //
  16451. // See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
  16452. // API call, and error handling.
  16453. //
  16454. // This method is useful when you want to inject custom logic or configuration
  16455. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16456. //
  16457. //
  16458. // // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
  16459. // req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
  16460. //
  16461. // err := req.Send()
  16462. // if err == nil { // resp is now filled
  16463. // fmt.Println(resp)
  16464. // }
  16465. //
  16466. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  16467. func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
  16468. op := &request.Operation{
  16469. Name: opDescribeVpcEndpointConnections,
  16470. HTTPMethod: "POST",
  16471. HTTPPath: "/",
  16472. }
  16473. if input == nil {
  16474. input = &DescribeVpcEndpointConnectionsInput{}
  16475. }
  16476. output = &DescribeVpcEndpointConnectionsOutput{}
  16477. req = c.newRequest(op, input, output)
  16478. return
  16479. }
  16480. // DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  16481. //
  16482. // Describes the VPC endpoint connections to your VPC endpoint services, including
  16483. // any endpoints that are pending your acceptance.
  16484. //
  16485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16486. // with awserr.Error's Code and Message methods to get detailed information about
  16487. // the error.
  16488. //
  16489. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16490. // API operation DescribeVpcEndpointConnections for usage and error information.
  16491. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
  16492. func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
  16493. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  16494. return out, req.Send()
  16495. }
  16496. // DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
  16497. // the ability to pass a context and additional request options.
  16498. //
  16499. // See DescribeVpcEndpointConnections for details on how to use this API operation.
  16500. //
  16501. // The context must be non-nil and will be used for request cancellation. If
  16502. // the context is nil a panic will occur. In the future the SDK may create
  16503. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16504. // for more information on using Contexts.
  16505. func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
  16506. req, out := c.DescribeVpcEndpointConnectionsRequest(input)
  16507. req.SetContext(ctx)
  16508. req.ApplyOptions(opts...)
  16509. return out, req.Send()
  16510. }
  16511. const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
  16512. // DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
  16513. // client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
  16514. // value will be populated with the request's response once the request completes
  16515. // successfully.
  16516. //
  16517. // Use "Send" method on the returned Request to send the API call to the service.
  16518. // the "output" return value is not valid until after Send returns without error.
  16519. //
  16520. // See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
  16521. // API call, and error handling.
  16522. //
  16523. // This method is useful when you want to inject custom logic or configuration
  16524. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16525. //
  16526. //
  16527. // // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
  16528. // req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
  16529. //
  16530. // err := req.Send()
  16531. // if err == nil { // resp is now filled
  16532. // fmt.Println(resp)
  16533. // }
  16534. //
  16535. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  16536. func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
  16537. op := &request.Operation{
  16538. Name: opDescribeVpcEndpointServiceConfigurations,
  16539. HTTPMethod: "POST",
  16540. HTTPPath: "/",
  16541. }
  16542. if input == nil {
  16543. input = &DescribeVpcEndpointServiceConfigurationsInput{}
  16544. }
  16545. output = &DescribeVpcEndpointServiceConfigurationsOutput{}
  16546. req = c.newRequest(op, input, output)
  16547. return
  16548. }
  16549. // DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
  16550. //
  16551. // Describes the VPC endpoint service configurations in your account (your services).
  16552. //
  16553. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16554. // with awserr.Error's Code and Message methods to get detailed information about
  16555. // the error.
  16556. //
  16557. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16558. // API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
  16559. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
  16560. func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  16561. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  16562. return out, req.Send()
  16563. }
  16564. // DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
  16565. // the ability to pass a context and additional request options.
  16566. //
  16567. // See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
  16568. //
  16569. // The context must be non-nil and will be used for request cancellation. If
  16570. // the context is nil a panic will occur. In the future the SDK may create
  16571. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16572. // for more information on using Contexts.
  16573. func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
  16574. req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
  16575. req.SetContext(ctx)
  16576. req.ApplyOptions(opts...)
  16577. return out, req.Send()
  16578. }
  16579. const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
  16580. // DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  16581. // client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
  16582. // value will be populated with the request's response once the request completes
  16583. // successfully.
  16584. //
  16585. // Use "Send" method on the returned Request to send the API call to the service.
  16586. // the "output" return value is not valid until after Send returns without error.
  16587. //
  16588. // See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
  16589. // API call, and error handling.
  16590. //
  16591. // This method is useful when you want to inject custom logic or configuration
  16592. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16593. //
  16594. //
  16595. // // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
  16596. // req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
  16597. //
  16598. // err := req.Send()
  16599. // if err == nil { // resp is now filled
  16600. // fmt.Println(resp)
  16601. // }
  16602. //
  16603. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  16604. func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
  16605. op := &request.Operation{
  16606. Name: opDescribeVpcEndpointServicePermissions,
  16607. HTTPMethod: "POST",
  16608. HTTPPath: "/",
  16609. }
  16610. if input == nil {
  16611. input = &DescribeVpcEndpointServicePermissionsInput{}
  16612. }
  16613. output = &DescribeVpcEndpointServicePermissionsOutput{}
  16614. req = c.newRequest(op, input, output)
  16615. return
  16616. }
  16617. // DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  16618. //
  16619. // Describes the principals (service consumers) that are permitted to discover
  16620. // your VPC endpoint service.
  16621. //
  16622. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16623. // with awserr.Error's Code and Message methods to get detailed information about
  16624. // the error.
  16625. //
  16626. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16627. // API operation DescribeVpcEndpointServicePermissions for usage and error information.
  16628. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
  16629. func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  16630. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  16631. return out, req.Send()
  16632. }
  16633. // DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
  16634. // the ability to pass a context and additional request options.
  16635. //
  16636. // See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
  16637. //
  16638. // The context must be non-nil and will be used for request cancellation. If
  16639. // the context is nil a panic will occur. In the future the SDK may create
  16640. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16641. // for more information on using Contexts.
  16642. func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
  16643. req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
  16644. req.SetContext(ctx)
  16645. req.ApplyOptions(opts...)
  16646. return out, req.Send()
  16647. }
  16648. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  16649. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  16650. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  16651. // value will be populated with the request's response once the request completes
  16652. // successfully.
  16653. //
  16654. // Use "Send" method on the returned Request to send the API call to the service.
  16655. // the "output" return value is not valid until after Send returns without error.
  16656. //
  16657. // See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
  16658. // API call, and error handling.
  16659. //
  16660. // This method is useful when you want to inject custom logic or configuration
  16661. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16662. //
  16663. //
  16664. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  16665. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  16666. //
  16667. // err := req.Send()
  16668. // if err == nil { // resp is now filled
  16669. // fmt.Println(resp)
  16670. // }
  16671. //
  16672. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  16673. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  16674. op := &request.Operation{
  16675. Name: opDescribeVpcEndpointServices,
  16676. HTTPMethod: "POST",
  16677. HTTPPath: "/",
  16678. }
  16679. if input == nil {
  16680. input = &DescribeVpcEndpointServicesInput{}
  16681. }
  16682. output = &DescribeVpcEndpointServicesOutput{}
  16683. req = c.newRequest(op, input, output)
  16684. return
  16685. }
  16686. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  16687. //
  16688. // Describes available services to which you can create a VPC endpoint.
  16689. //
  16690. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16691. // with awserr.Error's Code and Message methods to get detailed information about
  16692. // the error.
  16693. //
  16694. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16695. // API operation DescribeVpcEndpointServices for usage and error information.
  16696. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  16697. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  16698. req, out := c.DescribeVpcEndpointServicesRequest(input)
  16699. return out, req.Send()
  16700. }
  16701. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  16702. // the ability to pass a context and additional request options.
  16703. //
  16704. // See DescribeVpcEndpointServices for details on how to use this API operation.
  16705. //
  16706. // The context must be non-nil and will be used for request cancellation. If
  16707. // the context is nil a panic will occur. In the future the SDK may create
  16708. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16709. // for more information on using Contexts.
  16710. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  16711. req, out := c.DescribeVpcEndpointServicesRequest(input)
  16712. req.SetContext(ctx)
  16713. req.ApplyOptions(opts...)
  16714. return out, req.Send()
  16715. }
  16716. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  16717. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  16718. // client's request for the DescribeVpcEndpoints operation. The "output" return
  16719. // value will be populated with the request's response once the request completes
  16720. // successfully.
  16721. //
  16722. // Use "Send" method on the returned Request to send the API call to the service.
  16723. // the "output" return value is not valid until after Send returns without error.
  16724. //
  16725. // See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
  16726. // API call, and error handling.
  16727. //
  16728. // This method is useful when you want to inject custom logic or configuration
  16729. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16730. //
  16731. //
  16732. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  16733. // req, resp := client.DescribeVpcEndpointsRequest(params)
  16734. //
  16735. // err := req.Send()
  16736. // if err == nil { // resp is now filled
  16737. // fmt.Println(resp)
  16738. // }
  16739. //
  16740. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  16741. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  16742. op := &request.Operation{
  16743. Name: opDescribeVpcEndpoints,
  16744. HTTPMethod: "POST",
  16745. HTTPPath: "/",
  16746. }
  16747. if input == nil {
  16748. input = &DescribeVpcEndpointsInput{}
  16749. }
  16750. output = &DescribeVpcEndpointsOutput{}
  16751. req = c.newRequest(op, input, output)
  16752. return
  16753. }
  16754. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  16755. //
  16756. // Describes one or more of your VPC endpoints.
  16757. //
  16758. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16759. // with awserr.Error's Code and Message methods to get detailed information about
  16760. // the error.
  16761. //
  16762. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16763. // API operation DescribeVpcEndpoints for usage and error information.
  16764. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  16765. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  16766. req, out := c.DescribeVpcEndpointsRequest(input)
  16767. return out, req.Send()
  16768. }
  16769. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  16770. // the ability to pass a context and additional request options.
  16771. //
  16772. // See DescribeVpcEndpoints for details on how to use this API operation.
  16773. //
  16774. // The context must be non-nil and will be used for request cancellation. If
  16775. // the context is nil a panic will occur. In the future the SDK may create
  16776. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16777. // for more information on using Contexts.
  16778. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  16779. req, out := c.DescribeVpcEndpointsRequest(input)
  16780. req.SetContext(ctx)
  16781. req.ApplyOptions(opts...)
  16782. return out, req.Send()
  16783. }
  16784. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  16785. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  16786. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  16787. // value will be populated with the request's response once the request completes
  16788. // successfully.
  16789. //
  16790. // Use "Send" method on the returned Request to send the API call to the service.
  16791. // the "output" return value is not valid until after Send returns without error.
  16792. //
  16793. // See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
  16794. // API call, and error handling.
  16795. //
  16796. // This method is useful when you want to inject custom logic or configuration
  16797. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16798. //
  16799. //
  16800. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  16801. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  16802. //
  16803. // err := req.Send()
  16804. // if err == nil { // resp is now filled
  16805. // fmt.Println(resp)
  16806. // }
  16807. //
  16808. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  16809. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  16810. op := &request.Operation{
  16811. Name: opDescribeVpcPeeringConnections,
  16812. HTTPMethod: "POST",
  16813. HTTPPath: "/",
  16814. Paginator: &request.Paginator{
  16815. InputTokens: []string{"NextToken"},
  16816. OutputTokens: []string{"NextToken"},
  16817. LimitToken: "MaxResults",
  16818. TruncationToken: "",
  16819. },
  16820. }
  16821. if input == nil {
  16822. input = &DescribeVpcPeeringConnectionsInput{}
  16823. }
  16824. output = &DescribeVpcPeeringConnectionsOutput{}
  16825. req = c.newRequest(op, input, output)
  16826. return
  16827. }
  16828. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  16829. //
  16830. // Describes one or more of your VPC peering connections.
  16831. //
  16832. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16833. // with awserr.Error's Code and Message methods to get detailed information about
  16834. // the error.
  16835. //
  16836. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16837. // API operation DescribeVpcPeeringConnections for usage and error information.
  16838. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  16839. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  16840. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  16841. return out, req.Send()
  16842. }
  16843. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  16844. // the ability to pass a context and additional request options.
  16845. //
  16846. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  16847. //
  16848. // The context must be non-nil and will be used for request cancellation. If
  16849. // the context is nil a panic will occur. In the future the SDK may create
  16850. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16851. // for more information on using Contexts.
  16852. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  16853. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  16854. req.SetContext(ctx)
  16855. req.ApplyOptions(opts...)
  16856. return out, req.Send()
  16857. }
  16858. // DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
  16859. // calling the "fn" function with the response data for each page. To stop
  16860. // iterating, return false from the fn function.
  16861. //
  16862. // See DescribeVpcPeeringConnections method for more information on how to use this operation.
  16863. //
  16864. // Note: This operation can generate multiple requests to a service.
  16865. //
  16866. // // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
  16867. // pageNum := 0
  16868. // err := client.DescribeVpcPeeringConnectionsPages(params,
  16869. // func(page *DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
  16870. // pageNum++
  16871. // fmt.Println(page)
  16872. // return pageNum <= 3
  16873. // })
  16874. //
  16875. func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
  16876. return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  16877. }
  16878. // DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
  16879. // it takes a Context and allows setting request options on the pages.
  16880. //
  16881. // The context must be non-nil and will be used for request cancellation. If
  16882. // the context is nil a panic will occur. In the future the SDK may create
  16883. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16884. // for more information on using Contexts.
  16885. func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
  16886. p := request.Pagination{
  16887. NewRequest: func() (*request.Request, error) {
  16888. var inCpy *DescribeVpcPeeringConnectionsInput
  16889. if input != nil {
  16890. tmp := *input
  16891. inCpy = &tmp
  16892. }
  16893. req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
  16894. req.SetContext(ctx)
  16895. req.ApplyOptions(opts...)
  16896. return req, nil
  16897. },
  16898. }
  16899. cont := true
  16900. for p.Next() && cont {
  16901. cont = fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage())
  16902. }
  16903. return p.Err()
  16904. }
  16905. const opDescribeVpcs = "DescribeVpcs"
  16906. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  16907. // client's request for the DescribeVpcs operation. The "output" return
  16908. // value will be populated with the request's response once the request completes
  16909. // successfully.
  16910. //
  16911. // Use "Send" method on the returned Request to send the API call to the service.
  16912. // the "output" return value is not valid until after Send returns without error.
  16913. //
  16914. // See DescribeVpcs for more information on using the DescribeVpcs
  16915. // API call, and error handling.
  16916. //
  16917. // This method is useful when you want to inject custom logic or configuration
  16918. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  16919. //
  16920. //
  16921. // // Example sending a request using the DescribeVpcsRequest method.
  16922. // req, resp := client.DescribeVpcsRequest(params)
  16923. //
  16924. // err := req.Send()
  16925. // if err == nil { // resp is now filled
  16926. // fmt.Println(resp)
  16927. // }
  16928. //
  16929. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  16930. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  16931. op := &request.Operation{
  16932. Name: opDescribeVpcs,
  16933. HTTPMethod: "POST",
  16934. HTTPPath: "/",
  16935. Paginator: &request.Paginator{
  16936. InputTokens: []string{"NextToken"},
  16937. OutputTokens: []string{"NextToken"},
  16938. LimitToken: "MaxResults",
  16939. TruncationToken: "",
  16940. },
  16941. }
  16942. if input == nil {
  16943. input = &DescribeVpcsInput{}
  16944. }
  16945. output = &DescribeVpcsOutput{}
  16946. req = c.newRequest(op, input, output)
  16947. return
  16948. }
  16949. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  16950. //
  16951. // Describes one or more of your VPCs.
  16952. //
  16953. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16954. // with awserr.Error's Code and Message methods to get detailed information about
  16955. // the error.
  16956. //
  16957. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16958. // API operation DescribeVpcs for usage and error information.
  16959. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  16960. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  16961. req, out := c.DescribeVpcsRequest(input)
  16962. return out, req.Send()
  16963. }
  16964. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  16965. // the ability to pass a context and additional request options.
  16966. //
  16967. // See DescribeVpcs for details on how to use this API operation.
  16968. //
  16969. // The context must be non-nil and will be used for request cancellation. If
  16970. // the context is nil a panic will occur. In the future the SDK may create
  16971. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16972. // for more information on using Contexts.
  16973. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  16974. req, out := c.DescribeVpcsRequest(input)
  16975. req.SetContext(ctx)
  16976. req.ApplyOptions(opts...)
  16977. return out, req.Send()
  16978. }
  16979. // DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
  16980. // calling the "fn" function with the response data for each page. To stop
  16981. // iterating, return false from the fn function.
  16982. //
  16983. // See DescribeVpcs method for more information on how to use this operation.
  16984. //
  16985. // Note: This operation can generate multiple requests to a service.
  16986. //
  16987. // // Example iterating over at most 3 pages of a DescribeVpcs operation.
  16988. // pageNum := 0
  16989. // err := client.DescribeVpcsPages(params,
  16990. // func(page *DescribeVpcsOutput, lastPage bool) bool {
  16991. // pageNum++
  16992. // fmt.Println(page)
  16993. // return pageNum <= 3
  16994. // })
  16995. //
  16996. func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
  16997. return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
  16998. }
  16999. // DescribeVpcsPagesWithContext same as DescribeVpcsPages except
  17000. // it takes a Context and allows setting request options on the pages.
  17001. //
  17002. // The context must be non-nil and will be used for request cancellation. If
  17003. // the context is nil a panic will occur. In the future the SDK may create
  17004. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17005. // for more information on using Contexts.
  17006. func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
  17007. p := request.Pagination{
  17008. NewRequest: func() (*request.Request, error) {
  17009. var inCpy *DescribeVpcsInput
  17010. if input != nil {
  17011. tmp := *input
  17012. inCpy = &tmp
  17013. }
  17014. req, _ := c.DescribeVpcsRequest(inCpy)
  17015. req.SetContext(ctx)
  17016. req.ApplyOptions(opts...)
  17017. return req, nil
  17018. },
  17019. }
  17020. cont := true
  17021. for p.Next() && cont {
  17022. cont = fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage())
  17023. }
  17024. return p.Err()
  17025. }
  17026. const opDescribeVpnConnections = "DescribeVpnConnections"
  17027. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  17028. // client's request for the DescribeVpnConnections operation. The "output" return
  17029. // value will be populated with the request's response once the request completes
  17030. // successfully.
  17031. //
  17032. // Use "Send" method on the returned Request to send the API call to the service.
  17033. // the "output" return value is not valid until after Send returns without error.
  17034. //
  17035. // See DescribeVpnConnections for more information on using the DescribeVpnConnections
  17036. // API call, and error handling.
  17037. //
  17038. // This method is useful when you want to inject custom logic or configuration
  17039. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17040. //
  17041. //
  17042. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  17043. // req, resp := client.DescribeVpnConnectionsRequest(params)
  17044. //
  17045. // err := req.Send()
  17046. // if err == nil { // resp is now filled
  17047. // fmt.Println(resp)
  17048. // }
  17049. //
  17050. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  17051. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  17052. op := &request.Operation{
  17053. Name: opDescribeVpnConnections,
  17054. HTTPMethod: "POST",
  17055. HTTPPath: "/",
  17056. }
  17057. if input == nil {
  17058. input = &DescribeVpnConnectionsInput{}
  17059. }
  17060. output = &DescribeVpnConnectionsOutput{}
  17061. req = c.newRequest(op, input, output)
  17062. return
  17063. }
  17064. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  17065. //
  17066. // Describes one or more of your VPN connections.
  17067. //
  17068. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  17069. // in the AWS Site-to-Site VPN User Guide.
  17070. //
  17071. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17072. // with awserr.Error's Code and Message methods to get detailed information about
  17073. // the error.
  17074. //
  17075. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17076. // API operation DescribeVpnConnections for usage and error information.
  17077. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  17078. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  17079. req, out := c.DescribeVpnConnectionsRequest(input)
  17080. return out, req.Send()
  17081. }
  17082. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  17083. // the ability to pass a context and additional request options.
  17084. //
  17085. // See DescribeVpnConnections for details on how to use this API operation.
  17086. //
  17087. // The context must be non-nil and will be used for request cancellation. If
  17088. // the context is nil a panic will occur. In the future the SDK may create
  17089. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17090. // for more information on using Contexts.
  17091. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  17092. req, out := c.DescribeVpnConnectionsRequest(input)
  17093. req.SetContext(ctx)
  17094. req.ApplyOptions(opts...)
  17095. return out, req.Send()
  17096. }
  17097. const opDescribeVpnGateways = "DescribeVpnGateways"
  17098. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  17099. // client's request for the DescribeVpnGateways operation. The "output" return
  17100. // value will be populated with the request's response once the request completes
  17101. // successfully.
  17102. //
  17103. // Use "Send" method on the returned Request to send the API call to the service.
  17104. // the "output" return value is not valid until after Send returns without error.
  17105. //
  17106. // See DescribeVpnGateways for more information on using the DescribeVpnGateways
  17107. // API call, and error handling.
  17108. //
  17109. // This method is useful when you want to inject custom logic or configuration
  17110. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17111. //
  17112. //
  17113. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  17114. // req, resp := client.DescribeVpnGatewaysRequest(params)
  17115. //
  17116. // err := req.Send()
  17117. // if err == nil { // resp is now filled
  17118. // fmt.Println(resp)
  17119. // }
  17120. //
  17121. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  17122. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  17123. op := &request.Operation{
  17124. Name: opDescribeVpnGateways,
  17125. HTTPMethod: "POST",
  17126. HTTPPath: "/",
  17127. }
  17128. if input == nil {
  17129. input = &DescribeVpnGatewaysInput{}
  17130. }
  17131. output = &DescribeVpnGatewaysOutput{}
  17132. req = c.newRequest(op, input, output)
  17133. return
  17134. }
  17135. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  17136. //
  17137. // Describes one or more of your virtual private gateways.
  17138. //
  17139. // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
  17140. // in the AWS Site-to-Site VPN User Guide.
  17141. //
  17142. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17143. // with awserr.Error's Code and Message methods to get detailed information about
  17144. // the error.
  17145. //
  17146. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17147. // API operation DescribeVpnGateways for usage and error information.
  17148. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  17149. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  17150. req, out := c.DescribeVpnGatewaysRequest(input)
  17151. return out, req.Send()
  17152. }
  17153. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  17154. // the ability to pass a context and additional request options.
  17155. //
  17156. // See DescribeVpnGateways for details on how to use this API operation.
  17157. //
  17158. // The context must be non-nil and will be used for request cancellation. If
  17159. // the context is nil a panic will occur. In the future the SDK may create
  17160. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17161. // for more information on using Contexts.
  17162. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  17163. req, out := c.DescribeVpnGatewaysRequest(input)
  17164. req.SetContext(ctx)
  17165. req.ApplyOptions(opts...)
  17166. return out, req.Send()
  17167. }
  17168. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  17169. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  17170. // client's request for the DetachClassicLinkVpc operation. The "output" return
  17171. // value will be populated with the request's response once the request completes
  17172. // successfully.
  17173. //
  17174. // Use "Send" method on the returned Request to send the API call to the service.
  17175. // the "output" return value is not valid until after Send returns without error.
  17176. //
  17177. // See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
  17178. // API call, and error handling.
  17179. //
  17180. // This method is useful when you want to inject custom logic or configuration
  17181. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17182. //
  17183. //
  17184. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  17185. // req, resp := client.DetachClassicLinkVpcRequest(params)
  17186. //
  17187. // err := req.Send()
  17188. // if err == nil { // resp is now filled
  17189. // fmt.Println(resp)
  17190. // }
  17191. //
  17192. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  17193. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  17194. op := &request.Operation{
  17195. Name: opDetachClassicLinkVpc,
  17196. HTTPMethod: "POST",
  17197. HTTPPath: "/",
  17198. }
  17199. if input == nil {
  17200. input = &DetachClassicLinkVpcInput{}
  17201. }
  17202. output = &DetachClassicLinkVpcOutput{}
  17203. req = c.newRequest(op, input, output)
  17204. return
  17205. }
  17206. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  17207. //
  17208. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  17209. // has been unlinked, the VPC security groups are no longer associated with
  17210. // it. An instance is automatically unlinked from a VPC when it's stopped.
  17211. //
  17212. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17213. // with awserr.Error's Code and Message methods to get detailed information about
  17214. // the error.
  17215. //
  17216. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17217. // API operation DetachClassicLinkVpc for usage and error information.
  17218. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  17219. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  17220. req, out := c.DetachClassicLinkVpcRequest(input)
  17221. return out, req.Send()
  17222. }
  17223. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  17224. // the ability to pass a context and additional request options.
  17225. //
  17226. // See DetachClassicLinkVpc for details on how to use this API operation.
  17227. //
  17228. // The context must be non-nil and will be used for request cancellation. If
  17229. // the context is nil a panic will occur. In the future the SDK may create
  17230. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17231. // for more information on using Contexts.
  17232. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  17233. req, out := c.DetachClassicLinkVpcRequest(input)
  17234. req.SetContext(ctx)
  17235. req.ApplyOptions(opts...)
  17236. return out, req.Send()
  17237. }
  17238. const opDetachInternetGateway = "DetachInternetGateway"
  17239. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  17240. // client's request for the DetachInternetGateway operation. The "output" return
  17241. // value will be populated with the request's response once the request completes
  17242. // successfully.
  17243. //
  17244. // Use "Send" method on the returned Request to send the API call to the service.
  17245. // the "output" return value is not valid until after Send returns without error.
  17246. //
  17247. // See DetachInternetGateway for more information on using the DetachInternetGateway
  17248. // API call, and error handling.
  17249. //
  17250. // This method is useful when you want to inject custom logic or configuration
  17251. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17252. //
  17253. //
  17254. // // Example sending a request using the DetachInternetGatewayRequest method.
  17255. // req, resp := client.DetachInternetGatewayRequest(params)
  17256. //
  17257. // err := req.Send()
  17258. // if err == nil { // resp is now filled
  17259. // fmt.Println(resp)
  17260. // }
  17261. //
  17262. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  17263. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  17264. op := &request.Operation{
  17265. Name: opDetachInternetGateway,
  17266. HTTPMethod: "POST",
  17267. HTTPPath: "/",
  17268. }
  17269. if input == nil {
  17270. input = &DetachInternetGatewayInput{}
  17271. }
  17272. output = &DetachInternetGatewayOutput{}
  17273. req = c.newRequest(op, input, output)
  17274. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  17275. return
  17276. }
  17277. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  17278. //
  17279. // Detaches an internet gateway from a VPC, disabling connectivity between the
  17280. // internet and the VPC. The VPC must not contain any running instances with
  17281. // Elastic IP addresses or public IPv4 addresses.
  17282. //
  17283. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17284. // with awserr.Error's Code and Message methods to get detailed information about
  17285. // the error.
  17286. //
  17287. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17288. // API operation DetachInternetGateway for usage and error information.
  17289. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  17290. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  17291. req, out := c.DetachInternetGatewayRequest(input)
  17292. return out, req.Send()
  17293. }
  17294. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  17295. // the ability to pass a context and additional request options.
  17296. //
  17297. // See DetachInternetGateway for details on how to use this API operation.
  17298. //
  17299. // The context must be non-nil and will be used for request cancellation. If
  17300. // the context is nil a panic will occur. In the future the SDK may create
  17301. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17302. // for more information on using Contexts.
  17303. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  17304. req, out := c.DetachInternetGatewayRequest(input)
  17305. req.SetContext(ctx)
  17306. req.ApplyOptions(opts...)
  17307. return out, req.Send()
  17308. }
  17309. const opDetachNetworkInterface = "DetachNetworkInterface"
  17310. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  17311. // client's request for the DetachNetworkInterface operation. The "output" return
  17312. // value will be populated with the request's response once the request completes
  17313. // successfully.
  17314. //
  17315. // Use "Send" method on the returned Request to send the API call to the service.
  17316. // the "output" return value is not valid until after Send returns without error.
  17317. //
  17318. // See DetachNetworkInterface for more information on using the DetachNetworkInterface
  17319. // API call, and error handling.
  17320. //
  17321. // This method is useful when you want to inject custom logic or configuration
  17322. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17323. //
  17324. //
  17325. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  17326. // req, resp := client.DetachNetworkInterfaceRequest(params)
  17327. //
  17328. // err := req.Send()
  17329. // if err == nil { // resp is now filled
  17330. // fmt.Println(resp)
  17331. // }
  17332. //
  17333. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  17334. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  17335. op := &request.Operation{
  17336. Name: opDetachNetworkInterface,
  17337. HTTPMethod: "POST",
  17338. HTTPPath: "/",
  17339. }
  17340. if input == nil {
  17341. input = &DetachNetworkInterfaceInput{}
  17342. }
  17343. output = &DetachNetworkInterfaceOutput{}
  17344. req = c.newRequest(op, input, output)
  17345. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  17346. return
  17347. }
  17348. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  17349. //
  17350. // Detaches a network interface from an instance.
  17351. //
  17352. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17353. // with awserr.Error's Code and Message methods to get detailed information about
  17354. // the error.
  17355. //
  17356. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17357. // API operation DetachNetworkInterface for usage and error information.
  17358. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  17359. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  17360. req, out := c.DetachNetworkInterfaceRequest(input)
  17361. return out, req.Send()
  17362. }
  17363. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  17364. // the ability to pass a context and additional request options.
  17365. //
  17366. // See DetachNetworkInterface for details on how to use this API operation.
  17367. //
  17368. // The context must be non-nil and will be used for request cancellation. If
  17369. // the context is nil a panic will occur. In the future the SDK may create
  17370. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17371. // for more information on using Contexts.
  17372. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  17373. req, out := c.DetachNetworkInterfaceRequest(input)
  17374. req.SetContext(ctx)
  17375. req.ApplyOptions(opts...)
  17376. return out, req.Send()
  17377. }
  17378. const opDetachVolume = "DetachVolume"
  17379. // DetachVolumeRequest generates a "aws/request.Request" representing the
  17380. // client's request for the DetachVolume operation. The "output" return
  17381. // value will be populated with the request's response once the request completes
  17382. // successfully.
  17383. //
  17384. // Use "Send" method on the returned Request to send the API call to the service.
  17385. // the "output" return value is not valid until after Send returns without error.
  17386. //
  17387. // See DetachVolume for more information on using the DetachVolume
  17388. // API call, and error handling.
  17389. //
  17390. // This method is useful when you want to inject custom logic or configuration
  17391. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17392. //
  17393. //
  17394. // // Example sending a request using the DetachVolumeRequest method.
  17395. // req, resp := client.DetachVolumeRequest(params)
  17396. //
  17397. // err := req.Send()
  17398. // if err == nil { // resp is now filled
  17399. // fmt.Println(resp)
  17400. // }
  17401. //
  17402. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  17403. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  17404. op := &request.Operation{
  17405. Name: opDetachVolume,
  17406. HTTPMethod: "POST",
  17407. HTTPPath: "/",
  17408. }
  17409. if input == nil {
  17410. input = &DetachVolumeInput{}
  17411. }
  17412. output = &VolumeAttachment{}
  17413. req = c.newRequest(op, input, output)
  17414. return
  17415. }
  17416. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  17417. //
  17418. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  17419. // on the device within your operating system before detaching the volume. Failure
  17420. // to do so can result in the volume becoming stuck in the busy state while
  17421. // detaching. If this happens, detachment can be delayed indefinitely until
  17422. // you unmount the volume, force detachment, reboot the instance, or all three.
  17423. // If an EBS volume is the root device of an instance, it can't be detached
  17424. // while the instance is running. To detach the root volume, stop the instance
  17425. // first.
  17426. //
  17427. // When a volume with an AWS Marketplace product code is detached from an instance,
  17428. // the product code is no longer associated with the instance.
  17429. //
  17430. // For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  17431. // in the Amazon Elastic Compute Cloud User Guide.
  17432. //
  17433. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17434. // with awserr.Error's Code and Message methods to get detailed information about
  17435. // the error.
  17436. //
  17437. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17438. // API operation DetachVolume for usage and error information.
  17439. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  17440. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  17441. req, out := c.DetachVolumeRequest(input)
  17442. return out, req.Send()
  17443. }
  17444. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  17445. // the ability to pass a context and additional request options.
  17446. //
  17447. // See DetachVolume for details on how to use this API operation.
  17448. //
  17449. // The context must be non-nil and will be used for request cancellation. If
  17450. // the context is nil a panic will occur. In the future the SDK may create
  17451. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17452. // for more information on using Contexts.
  17453. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  17454. req, out := c.DetachVolumeRequest(input)
  17455. req.SetContext(ctx)
  17456. req.ApplyOptions(opts...)
  17457. return out, req.Send()
  17458. }
  17459. const opDetachVpnGateway = "DetachVpnGateway"
  17460. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  17461. // client's request for the DetachVpnGateway operation. The "output" return
  17462. // value will be populated with the request's response once the request completes
  17463. // successfully.
  17464. //
  17465. // Use "Send" method on the returned Request to send the API call to the service.
  17466. // the "output" return value is not valid until after Send returns without error.
  17467. //
  17468. // See DetachVpnGateway for more information on using the DetachVpnGateway
  17469. // API call, and error handling.
  17470. //
  17471. // This method is useful when you want to inject custom logic or configuration
  17472. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17473. //
  17474. //
  17475. // // Example sending a request using the DetachVpnGatewayRequest method.
  17476. // req, resp := client.DetachVpnGatewayRequest(params)
  17477. //
  17478. // err := req.Send()
  17479. // if err == nil { // resp is now filled
  17480. // fmt.Println(resp)
  17481. // }
  17482. //
  17483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  17484. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  17485. op := &request.Operation{
  17486. Name: opDetachVpnGateway,
  17487. HTTPMethod: "POST",
  17488. HTTPPath: "/",
  17489. }
  17490. if input == nil {
  17491. input = &DetachVpnGatewayInput{}
  17492. }
  17493. output = &DetachVpnGatewayOutput{}
  17494. req = c.newRequest(op, input, output)
  17495. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  17496. return
  17497. }
  17498. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  17499. //
  17500. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  17501. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  17502. // gateway has been completely detached from a VPC by describing the virtual
  17503. // private gateway (any attachments to the virtual private gateway are also
  17504. // described).
  17505. //
  17506. // You must wait for the attachment's state to switch to detached before you
  17507. // can delete the VPC or attach a different VPC to the virtual private gateway.
  17508. //
  17509. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17510. // with awserr.Error's Code and Message methods to get detailed information about
  17511. // the error.
  17512. //
  17513. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17514. // API operation DetachVpnGateway for usage and error information.
  17515. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  17516. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  17517. req, out := c.DetachVpnGatewayRequest(input)
  17518. return out, req.Send()
  17519. }
  17520. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  17521. // the ability to pass a context and additional request options.
  17522. //
  17523. // See DetachVpnGateway for details on how to use this API operation.
  17524. //
  17525. // The context must be non-nil and will be used for request cancellation. If
  17526. // the context is nil a panic will occur. In the future the SDK may create
  17527. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17528. // for more information on using Contexts.
  17529. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  17530. req, out := c.DetachVpnGatewayRequest(input)
  17531. req.SetContext(ctx)
  17532. req.ApplyOptions(opts...)
  17533. return out, req.Send()
  17534. }
  17535. const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
  17536. // DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
  17537. // client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
  17538. // value will be populated with the request's response once the request completes
  17539. // successfully.
  17540. //
  17541. // Use "Send" method on the returned Request to send the API call to the service.
  17542. // the "output" return value is not valid until after Send returns without error.
  17543. //
  17544. // See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
  17545. // API call, and error handling.
  17546. //
  17547. // This method is useful when you want to inject custom logic or configuration
  17548. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17549. //
  17550. //
  17551. // // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
  17552. // req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
  17553. //
  17554. // err := req.Send()
  17555. // if err == nil { // resp is now filled
  17556. // fmt.Println(resp)
  17557. // }
  17558. //
  17559. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
  17560. func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
  17561. op := &request.Operation{
  17562. Name: opDisableTransitGatewayRouteTablePropagation,
  17563. HTTPMethod: "POST",
  17564. HTTPPath: "/",
  17565. }
  17566. if input == nil {
  17567. input = &DisableTransitGatewayRouteTablePropagationInput{}
  17568. }
  17569. output = &DisableTransitGatewayRouteTablePropagationOutput{}
  17570. req = c.newRequest(op, input, output)
  17571. return
  17572. }
  17573. // DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
  17574. //
  17575. // Disables the specified resource attachment from propagating routes to the
  17576. // specified propagation route table.
  17577. //
  17578. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17579. // with awserr.Error's Code and Message methods to get detailed information about
  17580. // the error.
  17581. //
  17582. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17583. // API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
  17584. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
  17585. func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
  17586. req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
  17587. return out, req.Send()
  17588. }
  17589. // DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
  17590. // the ability to pass a context and additional request options.
  17591. //
  17592. // See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
  17593. //
  17594. // The context must be non-nil and will be used for request cancellation. If
  17595. // the context is nil a panic will occur. In the future the SDK may create
  17596. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17597. // for more information on using Contexts.
  17598. func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
  17599. req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
  17600. req.SetContext(ctx)
  17601. req.ApplyOptions(opts...)
  17602. return out, req.Send()
  17603. }
  17604. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  17605. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  17606. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  17607. // value will be populated with the request's response once the request completes
  17608. // successfully.
  17609. //
  17610. // Use "Send" method on the returned Request to send the API call to the service.
  17611. // the "output" return value is not valid until after Send returns without error.
  17612. //
  17613. // See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
  17614. // API call, and error handling.
  17615. //
  17616. // This method is useful when you want to inject custom logic or configuration
  17617. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17618. //
  17619. //
  17620. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  17621. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  17622. //
  17623. // err := req.Send()
  17624. // if err == nil { // resp is now filled
  17625. // fmt.Println(resp)
  17626. // }
  17627. //
  17628. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  17629. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  17630. op := &request.Operation{
  17631. Name: opDisableVgwRoutePropagation,
  17632. HTTPMethod: "POST",
  17633. HTTPPath: "/",
  17634. }
  17635. if input == nil {
  17636. input = &DisableVgwRoutePropagationInput{}
  17637. }
  17638. output = &DisableVgwRoutePropagationOutput{}
  17639. req = c.newRequest(op, input, output)
  17640. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  17641. return
  17642. }
  17643. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  17644. //
  17645. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  17646. // route table of a VPC.
  17647. //
  17648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17649. // with awserr.Error's Code and Message methods to get detailed information about
  17650. // the error.
  17651. //
  17652. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17653. // API operation DisableVgwRoutePropagation for usage and error information.
  17654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  17655. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  17656. req, out := c.DisableVgwRoutePropagationRequest(input)
  17657. return out, req.Send()
  17658. }
  17659. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  17660. // the ability to pass a context and additional request options.
  17661. //
  17662. // See DisableVgwRoutePropagation for details on how to use this API operation.
  17663. //
  17664. // The context must be non-nil and will be used for request cancellation. If
  17665. // the context is nil a panic will occur. In the future the SDK may create
  17666. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17667. // for more information on using Contexts.
  17668. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  17669. req, out := c.DisableVgwRoutePropagationRequest(input)
  17670. req.SetContext(ctx)
  17671. req.ApplyOptions(opts...)
  17672. return out, req.Send()
  17673. }
  17674. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  17675. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  17676. // client's request for the DisableVpcClassicLink operation. The "output" return
  17677. // value will be populated with the request's response once the request completes
  17678. // successfully.
  17679. //
  17680. // Use "Send" method on the returned Request to send the API call to the service.
  17681. // the "output" return value is not valid until after Send returns without error.
  17682. //
  17683. // See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
  17684. // API call, and error handling.
  17685. //
  17686. // This method is useful when you want to inject custom logic or configuration
  17687. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17688. //
  17689. //
  17690. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  17691. // req, resp := client.DisableVpcClassicLinkRequest(params)
  17692. //
  17693. // err := req.Send()
  17694. // if err == nil { // resp is now filled
  17695. // fmt.Println(resp)
  17696. // }
  17697. //
  17698. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  17699. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  17700. op := &request.Operation{
  17701. Name: opDisableVpcClassicLink,
  17702. HTTPMethod: "POST",
  17703. HTTPPath: "/",
  17704. }
  17705. if input == nil {
  17706. input = &DisableVpcClassicLinkInput{}
  17707. }
  17708. output = &DisableVpcClassicLinkOutput{}
  17709. req = c.newRequest(op, input, output)
  17710. return
  17711. }
  17712. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  17713. //
  17714. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  17715. // that has EC2-Classic instances linked to it.
  17716. //
  17717. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17718. // with awserr.Error's Code and Message methods to get detailed information about
  17719. // the error.
  17720. //
  17721. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17722. // API operation DisableVpcClassicLink for usage and error information.
  17723. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  17724. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  17725. req, out := c.DisableVpcClassicLinkRequest(input)
  17726. return out, req.Send()
  17727. }
  17728. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  17729. // the ability to pass a context and additional request options.
  17730. //
  17731. // See DisableVpcClassicLink for details on how to use this API operation.
  17732. //
  17733. // The context must be non-nil and will be used for request cancellation. If
  17734. // the context is nil a panic will occur. In the future the SDK may create
  17735. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17736. // for more information on using Contexts.
  17737. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  17738. req, out := c.DisableVpcClassicLinkRequest(input)
  17739. req.SetContext(ctx)
  17740. req.ApplyOptions(opts...)
  17741. return out, req.Send()
  17742. }
  17743. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  17744. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  17745. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  17746. // value will be populated with the request's response once the request completes
  17747. // successfully.
  17748. //
  17749. // Use "Send" method on the returned Request to send the API call to the service.
  17750. // the "output" return value is not valid until after Send returns without error.
  17751. //
  17752. // See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
  17753. // API call, and error handling.
  17754. //
  17755. // This method is useful when you want to inject custom logic or configuration
  17756. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17757. //
  17758. //
  17759. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  17760. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  17761. //
  17762. // err := req.Send()
  17763. // if err == nil { // resp is now filled
  17764. // fmt.Println(resp)
  17765. // }
  17766. //
  17767. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  17768. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  17769. op := &request.Operation{
  17770. Name: opDisableVpcClassicLinkDnsSupport,
  17771. HTTPMethod: "POST",
  17772. HTTPPath: "/",
  17773. }
  17774. if input == nil {
  17775. input = &DisableVpcClassicLinkDnsSupportInput{}
  17776. }
  17777. output = &DisableVpcClassicLinkDnsSupportOutput{}
  17778. req = c.newRequest(op, input, output)
  17779. return
  17780. }
  17781. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  17782. //
  17783. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  17784. // to public IP addresses when addressed between a linked EC2-Classic instance
  17785. // and instances in the VPC to which it's linked. For more information, see
  17786. // ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  17787. // in the Amazon Elastic Compute Cloud User Guide.
  17788. //
  17789. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17790. // with awserr.Error's Code and Message methods to get detailed information about
  17791. // the error.
  17792. //
  17793. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17794. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  17795. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  17796. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  17797. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  17798. return out, req.Send()
  17799. }
  17800. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  17801. // the ability to pass a context and additional request options.
  17802. //
  17803. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  17804. //
  17805. // The context must be non-nil and will be used for request cancellation. If
  17806. // the context is nil a panic will occur. In the future the SDK may create
  17807. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17808. // for more information on using Contexts.
  17809. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  17810. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  17811. req.SetContext(ctx)
  17812. req.ApplyOptions(opts...)
  17813. return out, req.Send()
  17814. }
  17815. const opDisassociateAddress = "DisassociateAddress"
  17816. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  17817. // client's request for the DisassociateAddress operation. The "output" return
  17818. // value will be populated with the request's response once the request completes
  17819. // successfully.
  17820. //
  17821. // Use "Send" method on the returned Request to send the API call to the service.
  17822. // the "output" return value is not valid until after Send returns without error.
  17823. //
  17824. // See DisassociateAddress for more information on using the DisassociateAddress
  17825. // API call, and error handling.
  17826. //
  17827. // This method is useful when you want to inject custom logic or configuration
  17828. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17829. //
  17830. //
  17831. // // Example sending a request using the DisassociateAddressRequest method.
  17832. // req, resp := client.DisassociateAddressRequest(params)
  17833. //
  17834. // err := req.Send()
  17835. // if err == nil { // resp is now filled
  17836. // fmt.Println(resp)
  17837. // }
  17838. //
  17839. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  17840. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  17841. op := &request.Operation{
  17842. Name: opDisassociateAddress,
  17843. HTTPMethod: "POST",
  17844. HTTPPath: "/",
  17845. }
  17846. if input == nil {
  17847. input = &DisassociateAddressInput{}
  17848. }
  17849. output = &DisassociateAddressOutput{}
  17850. req = c.newRequest(op, input, output)
  17851. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  17852. return
  17853. }
  17854. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  17855. //
  17856. // Disassociates an Elastic IP address from the instance or network interface
  17857. // it's associated with.
  17858. //
  17859. // An Elastic IP address is for use in either the EC2-Classic platform or in
  17860. // a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  17861. // in the Amazon Elastic Compute Cloud User Guide.
  17862. //
  17863. // This is an idempotent operation. If you perform the operation more than once,
  17864. // Amazon EC2 doesn't return an error.
  17865. //
  17866. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17867. // with awserr.Error's Code and Message methods to get detailed information about
  17868. // the error.
  17869. //
  17870. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17871. // API operation DisassociateAddress for usage and error information.
  17872. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  17873. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  17874. req, out := c.DisassociateAddressRequest(input)
  17875. return out, req.Send()
  17876. }
  17877. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  17878. // the ability to pass a context and additional request options.
  17879. //
  17880. // See DisassociateAddress for details on how to use this API operation.
  17881. //
  17882. // The context must be non-nil and will be used for request cancellation. If
  17883. // the context is nil a panic will occur. In the future the SDK may create
  17884. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17885. // for more information on using Contexts.
  17886. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  17887. req, out := c.DisassociateAddressRequest(input)
  17888. req.SetContext(ctx)
  17889. req.ApplyOptions(opts...)
  17890. return out, req.Send()
  17891. }
  17892. const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
  17893. // DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
  17894. // client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
  17895. // value will be populated with the request's response once the request completes
  17896. // successfully.
  17897. //
  17898. // Use "Send" method on the returned Request to send the API call to the service.
  17899. // the "output" return value is not valid until after Send returns without error.
  17900. //
  17901. // See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
  17902. // API call, and error handling.
  17903. //
  17904. // This method is useful when you want to inject custom logic or configuration
  17905. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17906. //
  17907. //
  17908. // // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
  17909. // req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
  17910. //
  17911. // err := req.Send()
  17912. // if err == nil { // resp is now filled
  17913. // fmt.Println(resp)
  17914. // }
  17915. //
  17916. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
  17917. func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
  17918. op := &request.Operation{
  17919. Name: opDisassociateClientVpnTargetNetwork,
  17920. HTTPMethod: "POST",
  17921. HTTPPath: "/",
  17922. }
  17923. if input == nil {
  17924. input = &DisassociateClientVpnTargetNetworkInput{}
  17925. }
  17926. output = &DisassociateClientVpnTargetNetworkOutput{}
  17927. req = c.newRequest(op, input, output)
  17928. return
  17929. }
  17930. // DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
  17931. //
  17932. // Disassociates a target network from the specified Client VPN endpoint. When
  17933. // you disassociate the last target network from a Client VPN, the following
  17934. // happens:
  17935. //
  17936. // * The route that was automatically added for the VPC is deleted
  17937. //
  17938. // * All active client connections are terminated
  17939. //
  17940. // * New client connections are disallowed
  17941. //
  17942. // * The Client VPN endpoint's status changes to pending-associate
  17943. //
  17944. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17945. // with awserr.Error's Code and Message methods to get detailed information about
  17946. // the error.
  17947. //
  17948. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17949. // API operation DisassociateClientVpnTargetNetwork for usage and error information.
  17950. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
  17951. func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
  17952. req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
  17953. return out, req.Send()
  17954. }
  17955. // DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
  17956. // the ability to pass a context and additional request options.
  17957. //
  17958. // See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
  17959. //
  17960. // The context must be non-nil and will be used for request cancellation. If
  17961. // the context is nil a panic will occur. In the future the SDK may create
  17962. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17963. // for more information on using Contexts.
  17964. func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
  17965. req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
  17966. req.SetContext(ctx)
  17967. req.ApplyOptions(opts...)
  17968. return out, req.Send()
  17969. }
  17970. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  17971. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  17972. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  17973. // value will be populated with the request's response once the request completes
  17974. // successfully.
  17975. //
  17976. // Use "Send" method on the returned Request to send the API call to the service.
  17977. // the "output" return value is not valid until after Send returns without error.
  17978. //
  17979. // See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
  17980. // API call, and error handling.
  17981. //
  17982. // This method is useful when you want to inject custom logic or configuration
  17983. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  17984. //
  17985. //
  17986. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  17987. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  17988. //
  17989. // err := req.Send()
  17990. // if err == nil { // resp is now filled
  17991. // fmt.Println(resp)
  17992. // }
  17993. //
  17994. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  17995. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  17996. op := &request.Operation{
  17997. Name: opDisassociateIamInstanceProfile,
  17998. HTTPMethod: "POST",
  17999. HTTPPath: "/",
  18000. }
  18001. if input == nil {
  18002. input = &DisassociateIamInstanceProfileInput{}
  18003. }
  18004. output = &DisassociateIamInstanceProfileOutput{}
  18005. req = c.newRequest(op, input, output)
  18006. return
  18007. }
  18008. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  18009. //
  18010. // Disassociates an IAM instance profile from a running or stopped instance.
  18011. //
  18012. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  18013. //
  18014. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18015. // with awserr.Error's Code and Message methods to get detailed information about
  18016. // the error.
  18017. //
  18018. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18019. // API operation DisassociateIamInstanceProfile for usage and error information.
  18020. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  18021. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  18022. req, out := c.DisassociateIamInstanceProfileRequest(input)
  18023. return out, req.Send()
  18024. }
  18025. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  18026. // the ability to pass a context and additional request options.
  18027. //
  18028. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  18029. //
  18030. // The context must be non-nil and will be used for request cancellation. If
  18031. // the context is nil a panic will occur. In the future the SDK may create
  18032. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18033. // for more information on using Contexts.
  18034. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  18035. req, out := c.DisassociateIamInstanceProfileRequest(input)
  18036. req.SetContext(ctx)
  18037. req.ApplyOptions(opts...)
  18038. return out, req.Send()
  18039. }
  18040. const opDisassociateRouteTable = "DisassociateRouteTable"
  18041. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  18042. // client's request for the DisassociateRouteTable operation. The "output" return
  18043. // value will be populated with the request's response once the request completes
  18044. // successfully.
  18045. //
  18046. // Use "Send" method on the returned Request to send the API call to the service.
  18047. // the "output" return value is not valid until after Send returns without error.
  18048. //
  18049. // See DisassociateRouteTable for more information on using the DisassociateRouteTable
  18050. // API call, and error handling.
  18051. //
  18052. // This method is useful when you want to inject custom logic or configuration
  18053. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18054. //
  18055. //
  18056. // // Example sending a request using the DisassociateRouteTableRequest method.
  18057. // req, resp := client.DisassociateRouteTableRequest(params)
  18058. //
  18059. // err := req.Send()
  18060. // if err == nil { // resp is now filled
  18061. // fmt.Println(resp)
  18062. // }
  18063. //
  18064. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  18065. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  18066. op := &request.Operation{
  18067. Name: opDisassociateRouteTable,
  18068. HTTPMethod: "POST",
  18069. HTTPPath: "/",
  18070. }
  18071. if input == nil {
  18072. input = &DisassociateRouteTableInput{}
  18073. }
  18074. output = &DisassociateRouteTableOutput{}
  18075. req = c.newRequest(op, input, output)
  18076. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  18077. return
  18078. }
  18079. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  18080. //
  18081. // Disassociates a subnet from a route table.
  18082. //
  18083. // After you perform this action, the subnet no longer uses the routes in the
  18084. // route table. Instead, it uses the routes in the VPC's main route table. For
  18085. // more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  18086. // in the Amazon Virtual Private Cloud User Guide.
  18087. //
  18088. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18089. // with awserr.Error's Code and Message methods to get detailed information about
  18090. // the error.
  18091. //
  18092. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18093. // API operation DisassociateRouteTable for usage and error information.
  18094. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  18095. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  18096. req, out := c.DisassociateRouteTableRequest(input)
  18097. return out, req.Send()
  18098. }
  18099. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  18100. // the ability to pass a context and additional request options.
  18101. //
  18102. // See DisassociateRouteTable for details on how to use this API operation.
  18103. //
  18104. // The context must be non-nil and will be used for request cancellation. If
  18105. // the context is nil a panic will occur. In the future the SDK may create
  18106. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18107. // for more information on using Contexts.
  18108. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  18109. req, out := c.DisassociateRouteTableRequest(input)
  18110. req.SetContext(ctx)
  18111. req.ApplyOptions(opts...)
  18112. return out, req.Send()
  18113. }
  18114. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  18115. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  18116. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  18117. // value will be populated with the request's response once the request completes
  18118. // successfully.
  18119. //
  18120. // Use "Send" method on the returned Request to send the API call to the service.
  18121. // the "output" return value is not valid until after Send returns without error.
  18122. //
  18123. // See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
  18124. // API call, and error handling.
  18125. //
  18126. // This method is useful when you want to inject custom logic or configuration
  18127. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18128. //
  18129. //
  18130. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  18131. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  18132. //
  18133. // err := req.Send()
  18134. // if err == nil { // resp is now filled
  18135. // fmt.Println(resp)
  18136. // }
  18137. //
  18138. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  18139. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  18140. op := &request.Operation{
  18141. Name: opDisassociateSubnetCidrBlock,
  18142. HTTPMethod: "POST",
  18143. HTTPPath: "/",
  18144. }
  18145. if input == nil {
  18146. input = &DisassociateSubnetCidrBlockInput{}
  18147. }
  18148. output = &DisassociateSubnetCidrBlockOutput{}
  18149. req = c.newRequest(op, input, output)
  18150. return
  18151. }
  18152. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  18153. //
  18154. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  18155. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  18156. // that are associated with the CIDR block before you can disassociate it.
  18157. //
  18158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18159. // with awserr.Error's Code and Message methods to get detailed information about
  18160. // the error.
  18161. //
  18162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18163. // API operation DisassociateSubnetCidrBlock for usage and error information.
  18164. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  18165. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  18166. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  18167. return out, req.Send()
  18168. }
  18169. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  18170. // the ability to pass a context and additional request options.
  18171. //
  18172. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  18173. //
  18174. // The context must be non-nil and will be used for request cancellation. If
  18175. // the context is nil a panic will occur. In the future the SDK may create
  18176. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18177. // for more information on using Contexts.
  18178. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  18179. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  18180. req.SetContext(ctx)
  18181. req.ApplyOptions(opts...)
  18182. return out, req.Send()
  18183. }
  18184. const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
  18185. // DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
  18186. // client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
  18187. // value will be populated with the request's response once the request completes
  18188. // successfully.
  18189. //
  18190. // Use "Send" method on the returned Request to send the API call to the service.
  18191. // the "output" return value is not valid until after Send returns without error.
  18192. //
  18193. // See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
  18194. // API call, and error handling.
  18195. //
  18196. // This method is useful when you want to inject custom logic or configuration
  18197. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18198. //
  18199. //
  18200. // // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
  18201. // req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
  18202. //
  18203. // err := req.Send()
  18204. // if err == nil { // resp is now filled
  18205. // fmt.Println(resp)
  18206. // }
  18207. //
  18208. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
  18209. func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
  18210. op := &request.Operation{
  18211. Name: opDisassociateTransitGatewayRouteTable,
  18212. HTTPMethod: "POST",
  18213. HTTPPath: "/",
  18214. }
  18215. if input == nil {
  18216. input = &DisassociateTransitGatewayRouteTableInput{}
  18217. }
  18218. output = &DisassociateTransitGatewayRouteTableOutput{}
  18219. req = c.newRequest(op, input, output)
  18220. return
  18221. }
  18222. // DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
  18223. //
  18224. // Disassociates a resource attachment from a transit gateway route table.
  18225. //
  18226. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18227. // with awserr.Error's Code and Message methods to get detailed information about
  18228. // the error.
  18229. //
  18230. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18231. // API operation DisassociateTransitGatewayRouteTable for usage and error information.
  18232. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
  18233. func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
  18234. req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
  18235. return out, req.Send()
  18236. }
  18237. // DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
  18238. // the ability to pass a context and additional request options.
  18239. //
  18240. // See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
  18241. //
  18242. // The context must be non-nil and will be used for request cancellation. If
  18243. // the context is nil a panic will occur. In the future the SDK may create
  18244. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18245. // for more information on using Contexts.
  18246. func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
  18247. req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
  18248. req.SetContext(ctx)
  18249. req.ApplyOptions(opts...)
  18250. return out, req.Send()
  18251. }
  18252. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  18253. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  18254. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  18255. // value will be populated with the request's response once the request completes
  18256. // successfully.
  18257. //
  18258. // Use "Send" method on the returned Request to send the API call to the service.
  18259. // the "output" return value is not valid until after Send returns without error.
  18260. //
  18261. // See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
  18262. // API call, and error handling.
  18263. //
  18264. // This method is useful when you want to inject custom logic or configuration
  18265. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18266. //
  18267. //
  18268. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  18269. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  18270. //
  18271. // err := req.Send()
  18272. // if err == nil { // resp is now filled
  18273. // fmt.Println(resp)
  18274. // }
  18275. //
  18276. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  18277. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  18278. op := &request.Operation{
  18279. Name: opDisassociateVpcCidrBlock,
  18280. HTTPMethod: "POST",
  18281. HTTPPath: "/",
  18282. }
  18283. if input == nil {
  18284. input = &DisassociateVpcCidrBlockInput{}
  18285. }
  18286. output = &DisassociateVpcCidrBlockOutput{}
  18287. req = c.newRequest(op, input, output)
  18288. return
  18289. }
  18290. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  18291. //
  18292. // Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
  18293. // must specify its association ID. You can get the association ID by using
  18294. // DescribeVpcs. You must detach or delete all gateways and resources that are
  18295. // associated with the CIDR block before you can disassociate it.
  18296. //
  18297. // You cannot disassociate the CIDR block with which you originally created
  18298. // the VPC (the primary CIDR block).
  18299. //
  18300. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18301. // with awserr.Error's Code and Message methods to get detailed information about
  18302. // the error.
  18303. //
  18304. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18305. // API operation DisassociateVpcCidrBlock for usage and error information.
  18306. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  18307. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  18308. req, out := c.DisassociateVpcCidrBlockRequest(input)
  18309. return out, req.Send()
  18310. }
  18311. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  18312. // the ability to pass a context and additional request options.
  18313. //
  18314. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  18315. //
  18316. // The context must be non-nil and will be used for request cancellation. If
  18317. // the context is nil a panic will occur. In the future the SDK may create
  18318. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18319. // for more information on using Contexts.
  18320. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  18321. req, out := c.DisassociateVpcCidrBlockRequest(input)
  18322. req.SetContext(ctx)
  18323. req.ApplyOptions(opts...)
  18324. return out, req.Send()
  18325. }
  18326. const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
  18327. // EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
  18328. // client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
  18329. // value will be populated with the request's response once the request completes
  18330. // successfully.
  18331. //
  18332. // Use "Send" method on the returned Request to send the API call to the service.
  18333. // the "output" return value is not valid until after Send returns without error.
  18334. //
  18335. // See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
  18336. // API call, and error handling.
  18337. //
  18338. // This method is useful when you want to inject custom logic or configuration
  18339. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18340. //
  18341. //
  18342. // // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
  18343. // req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
  18344. //
  18345. // err := req.Send()
  18346. // if err == nil { // resp is now filled
  18347. // fmt.Println(resp)
  18348. // }
  18349. //
  18350. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
  18351. func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
  18352. op := &request.Operation{
  18353. Name: opEnableTransitGatewayRouteTablePropagation,
  18354. HTTPMethod: "POST",
  18355. HTTPPath: "/",
  18356. }
  18357. if input == nil {
  18358. input = &EnableTransitGatewayRouteTablePropagationInput{}
  18359. }
  18360. output = &EnableTransitGatewayRouteTablePropagationOutput{}
  18361. req = c.newRequest(op, input, output)
  18362. return
  18363. }
  18364. // EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
  18365. //
  18366. // Enables the specified attachment to propagate routes to the specified propagation
  18367. // route table.
  18368. //
  18369. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18370. // with awserr.Error's Code and Message methods to get detailed information about
  18371. // the error.
  18372. //
  18373. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18374. // API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
  18375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
  18376. func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
  18377. req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
  18378. return out, req.Send()
  18379. }
  18380. // EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
  18381. // the ability to pass a context and additional request options.
  18382. //
  18383. // See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
  18384. //
  18385. // The context must be non-nil and will be used for request cancellation. If
  18386. // the context is nil a panic will occur. In the future the SDK may create
  18387. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18388. // for more information on using Contexts.
  18389. func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
  18390. req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
  18391. req.SetContext(ctx)
  18392. req.ApplyOptions(opts...)
  18393. return out, req.Send()
  18394. }
  18395. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  18396. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  18397. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  18398. // value will be populated with the request's response once the request completes
  18399. // successfully.
  18400. //
  18401. // Use "Send" method on the returned Request to send the API call to the service.
  18402. // the "output" return value is not valid until after Send returns without error.
  18403. //
  18404. // See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
  18405. // API call, and error handling.
  18406. //
  18407. // This method is useful when you want to inject custom logic or configuration
  18408. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18409. //
  18410. //
  18411. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  18412. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  18413. //
  18414. // err := req.Send()
  18415. // if err == nil { // resp is now filled
  18416. // fmt.Println(resp)
  18417. // }
  18418. //
  18419. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  18420. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  18421. op := &request.Operation{
  18422. Name: opEnableVgwRoutePropagation,
  18423. HTTPMethod: "POST",
  18424. HTTPPath: "/",
  18425. }
  18426. if input == nil {
  18427. input = &EnableVgwRoutePropagationInput{}
  18428. }
  18429. output = &EnableVgwRoutePropagationOutput{}
  18430. req = c.newRequest(op, input, output)
  18431. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  18432. return
  18433. }
  18434. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  18435. //
  18436. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  18437. // route table of a VPC.
  18438. //
  18439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18440. // with awserr.Error's Code and Message methods to get detailed information about
  18441. // the error.
  18442. //
  18443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18444. // API operation EnableVgwRoutePropagation for usage and error information.
  18445. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  18446. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  18447. req, out := c.EnableVgwRoutePropagationRequest(input)
  18448. return out, req.Send()
  18449. }
  18450. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  18451. // the ability to pass a context and additional request options.
  18452. //
  18453. // See EnableVgwRoutePropagation for details on how to use this API operation.
  18454. //
  18455. // The context must be non-nil and will be used for request cancellation. If
  18456. // the context is nil a panic will occur. In the future the SDK may create
  18457. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18458. // for more information on using Contexts.
  18459. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  18460. req, out := c.EnableVgwRoutePropagationRequest(input)
  18461. req.SetContext(ctx)
  18462. req.ApplyOptions(opts...)
  18463. return out, req.Send()
  18464. }
  18465. const opEnableVolumeIO = "EnableVolumeIO"
  18466. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  18467. // client's request for the EnableVolumeIO operation. The "output" return
  18468. // value will be populated with the request's response once the request completes
  18469. // successfully.
  18470. //
  18471. // Use "Send" method on the returned Request to send the API call to the service.
  18472. // the "output" return value is not valid until after Send returns without error.
  18473. //
  18474. // See EnableVolumeIO for more information on using the EnableVolumeIO
  18475. // API call, and error handling.
  18476. //
  18477. // This method is useful when you want to inject custom logic or configuration
  18478. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18479. //
  18480. //
  18481. // // Example sending a request using the EnableVolumeIORequest method.
  18482. // req, resp := client.EnableVolumeIORequest(params)
  18483. //
  18484. // err := req.Send()
  18485. // if err == nil { // resp is now filled
  18486. // fmt.Println(resp)
  18487. // }
  18488. //
  18489. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  18490. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  18491. op := &request.Operation{
  18492. Name: opEnableVolumeIO,
  18493. HTTPMethod: "POST",
  18494. HTTPPath: "/",
  18495. }
  18496. if input == nil {
  18497. input = &EnableVolumeIOInput{}
  18498. }
  18499. output = &EnableVolumeIOOutput{}
  18500. req = c.newRequest(op, input, output)
  18501. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  18502. return
  18503. }
  18504. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  18505. //
  18506. // Enables I/O operations for a volume that had I/O operations disabled because
  18507. // the data on the volume was potentially inconsistent.
  18508. //
  18509. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18510. // with awserr.Error's Code and Message methods to get detailed information about
  18511. // the error.
  18512. //
  18513. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18514. // API operation EnableVolumeIO for usage and error information.
  18515. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  18516. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  18517. req, out := c.EnableVolumeIORequest(input)
  18518. return out, req.Send()
  18519. }
  18520. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  18521. // the ability to pass a context and additional request options.
  18522. //
  18523. // See EnableVolumeIO for details on how to use this API operation.
  18524. //
  18525. // The context must be non-nil and will be used for request cancellation. If
  18526. // the context is nil a panic will occur. In the future the SDK may create
  18527. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18528. // for more information on using Contexts.
  18529. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  18530. req, out := c.EnableVolumeIORequest(input)
  18531. req.SetContext(ctx)
  18532. req.ApplyOptions(opts...)
  18533. return out, req.Send()
  18534. }
  18535. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  18536. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  18537. // client's request for the EnableVpcClassicLink operation. The "output" return
  18538. // value will be populated with the request's response once the request completes
  18539. // successfully.
  18540. //
  18541. // Use "Send" method on the returned Request to send the API call to the service.
  18542. // the "output" return value is not valid until after Send returns without error.
  18543. //
  18544. // See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
  18545. // API call, and error handling.
  18546. //
  18547. // This method is useful when you want to inject custom logic or configuration
  18548. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18549. //
  18550. //
  18551. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  18552. // req, resp := client.EnableVpcClassicLinkRequest(params)
  18553. //
  18554. // err := req.Send()
  18555. // if err == nil { // resp is now filled
  18556. // fmt.Println(resp)
  18557. // }
  18558. //
  18559. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  18560. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  18561. op := &request.Operation{
  18562. Name: opEnableVpcClassicLink,
  18563. HTTPMethod: "POST",
  18564. HTTPPath: "/",
  18565. }
  18566. if input == nil {
  18567. input = &EnableVpcClassicLinkInput{}
  18568. }
  18569. output = &EnableVpcClassicLinkOutput{}
  18570. req = c.newRequest(op, input, output)
  18571. return
  18572. }
  18573. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  18574. //
  18575. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  18576. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  18577. // You cannot enable your VPC for ClassicLink if any of your VPC route tables
  18578. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  18579. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  18580. // IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  18581. // in the Amazon Elastic Compute Cloud User Guide.
  18582. //
  18583. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18584. // with awserr.Error's Code and Message methods to get detailed information about
  18585. // the error.
  18586. //
  18587. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18588. // API operation EnableVpcClassicLink for usage and error information.
  18589. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  18590. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  18591. req, out := c.EnableVpcClassicLinkRequest(input)
  18592. return out, req.Send()
  18593. }
  18594. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  18595. // the ability to pass a context and additional request options.
  18596. //
  18597. // See EnableVpcClassicLink for details on how to use this API operation.
  18598. //
  18599. // The context must be non-nil and will be used for request cancellation. If
  18600. // the context is nil a panic will occur. In the future the SDK may create
  18601. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18602. // for more information on using Contexts.
  18603. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  18604. req, out := c.EnableVpcClassicLinkRequest(input)
  18605. req.SetContext(ctx)
  18606. req.ApplyOptions(opts...)
  18607. return out, req.Send()
  18608. }
  18609. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  18610. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  18611. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  18612. // value will be populated with the request's response once the request completes
  18613. // successfully.
  18614. //
  18615. // Use "Send" method on the returned Request to send the API call to the service.
  18616. // the "output" return value is not valid until after Send returns without error.
  18617. //
  18618. // See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
  18619. // API call, and error handling.
  18620. //
  18621. // This method is useful when you want to inject custom logic or configuration
  18622. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18623. //
  18624. //
  18625. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  18626. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  18627. //
  18628. // err := req.Send()
  18629. // if err == nil { // resp is now filled
  18630. // fmt.Println(resp)
  18631. // }
  18632. //
  18633. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  18634. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  18635. op := &request.Operation{
  18636. Name: opEnableVpcClassicLinkDnsSupport,
  18637. HTTPMethod: "POST",
  18638. HTTPPath: "/",
  18639. }
  18640. if input == nil {
  18641. input = &EnableVpcClassicLinkDnsSupportInput{}
  18642. }
  18643. output = &EnableVpcClassicLinkDnsSupportOutput{}
  18644. req = c.newRequest(op, input, output)
  18645. return
  18646. }
  18647. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  18648. //
  18649. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  18650. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  18651. // IP address when addressed from an instance in the VPC to which it's linked.
  18652. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  18653. // IP address when addressed from a linked EC2-Classic instance. For more information,
  18654. // see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  18655. // in the Amazon Elastic Compute Cloud User Guide.
  18656. //
  18657. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18658. // with awserr.Error's Code and Message methods to get detailed information about
  18659. // the error.
  18660. //
  18661. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18662. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  18663. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  18664. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  18665. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  18666. return out, req.Send()
  18667. }
  18668. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  18669. // the ability to pass a context and additional request options.
  18670. //
  18671. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  18672. //
  18673. // The context must be non-nil and will be used for request cancellation. If
  18674. // the context is nil a panic will occur. In the future the SDK may create
  18675. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18676. // for more information on using Contexts.
  18677. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  18678. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  18679. req.SetContext(ctx)
  18680. req.ApplyOptions(opts...)
  18681. return out, req.Send()
  18682. }
  18683. const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
  18684. // ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
  18685. // client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
  18686. // value will be populated with the request's response once the request completes
  18687. // successfully.
  18688. //
  18689. // Use "Send" method on the returned Request to send the API call to the service.
  18690. // the "output" return value is not valid until after Send returns without error.
  18691. //
  18692. // See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
  18693. // API call, and error handling.
  18694. //
  18695. // This method is useful when you want to inject custom logic or configuration
  18696. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18697. //
  18698. //
  18699. // // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
  18700. // req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
  18701. //
  18702. // err := req.Send()
  18703. // if err == nil { // resp is now filled
  18704. // fmt.Println(resp)
  18705. // }
  18706. //
  18707. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
  18708. func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
  18709. op := &request.Operation{
  18710. Name: opExportClientVpnClientCertificateRevocationList,
  18711. HTTPMethod: "POST",
  18712. HTTPPath: "/",
  18713. }
  18714. if input == nil {
  18715. input = &ExportClientVpnClientCertificateRevocationListInput{}
  18716. }
  18717. output = &ExportClientVpnClientCertificateRevocationListOutput{}
  18718. req = c.newRequest(op, input, output)
  18719. return
  18720. }
  18721. // ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
  18722. //
  18723. // Downloads the client certificate revocation list for the specified Client
  18724. // VPN endpoint.
  18725. //
  18726. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18727. // with awserr.Error's Code and Message methods to get detailed information about
  18728. // the error.
  18729. //
  18730. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18731. // API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
  18732. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
  18733. func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
  18734. req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
  18735. return out, req.Send()
  18736. }
  18737. // ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
  18738. // the ability to pass a context and additional request options.
  18739. //
  18740. // See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
  18741. //
  18742. // The context must be non-nil and will be used for request cancellation. If
  18743. // the context is nil a panic will occur. In the future the SDK may create
  18744. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18745. // for more information on using Contexts.
  18746. func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
  18747. req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
  18748. req.SetContext(ctx)
  18749. req.ApplyOptions(opts...)
  18750. return out, req.Send()
  18751. }
  18752. const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
  18753. // ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
  18754. // client's request for the ExportClientVpnClientConfiguration operation. The "output" return
  18755. // value will be populated with the request's response once the request completes
  18756. // successfully.
  18757. //
  18758. // Use "Send" method on the returned Request to send the API call to the service.
  18759. // the "output" return value is not valid until after Send returns without error.
  18760. //
  18761. // See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
  18762. // API call, and error handling.
  18763. //
  18764. // This method is useful when you want to inject custom logic or configuration
  18765. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18766. //
  18767. //
  18768. // // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
  18769. // req, resp := client.ExportClientVpnClientConfigurationRequest(params)
  18770. //
  18771. // err := req.Send()
  18772. // if err == nil { // resp is now filled
  18773. // fmt.Println(resp)
  18774. // }
  18775. //
  18776. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
  18777. func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
  18778. op := &request.Operation{
  18779. Name: opExportClientVpnClientConfiguration,
  18780. HTTPMethod: "POST",
  18781. HTTPPath: "/",
  18782. }
  18783. if input == nil {
  18784. input = &ExportClientVpnClientConfigurationInput{}
  18785. }
  18786. output = &ExportClientVpnClientConfigurationOutput{}
  18787. req = c.newRequest(op, input, output)
  18788. return
  18789. }
  18790. // ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
  18791. //
  18792. // Downloads the contents of the Client VPN endpoint configuration file for
  18793. // the specified Client VPN endpoint. The Client VPN endpoint configuration
  18794. // file includes the Client VPN endpoint and certificate information clients
  18795. // need to establish a connection with the Client VPN endpoint.
  18796. //
  18797. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18798. // with awserr.Error's Code and Message methods to get detailed information about
  18799. // the error.
  18800. //
  18801. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18802. // API operation ExportClientVpnClientConfiguration for usage and error information.
  18803. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
  18804. func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
  18805. req, out := c.ExportClientVpnClientConfigurationRequest(input)
  18806. return out, req.Send()
  18807. }
  18808. // ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
  18809. // the ability to pass a context and additional request options.
  18810. //
  18811. // See ExportClientVpnClientConfiguration for details on how to use this API operation.
  18812. //
  18813. // The context must be non-nil and will be used for request cancellation. If
  18814. // the context is nil a panic will occur. In the future the SDK may create
  18815. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18816. // for more information on using Contexts.
  18817. func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
  18818. req, out := c.ExportClientVpnClientConfigurationRequest(input)
  18819. req.SetContext(ctx)
  18820. req.ApplyOptions(opts...)
  18821. return out, req.Send()
  18822. }
  18823. const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
  18824. // ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
  18825. // client's request for the ExportTransitGatewayRoutes operation. The "output" return
  18826. // value will be populated with the request's response once the request completes
  18827. // successfully.
  18828. //
  18829. // Use "Send" method on the returned Request to send the API call to the service.
  18830. // the "output" return value is not valid until after Send returns without error.
  18831. //
  18832. // See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
  18833. // API call, and error handling.
  18834. //
  18835. // This method is useful when you want to inject custom logic or configuration
  18836. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18837. //
  18838. //
  18839. // // Example sending a request using the ExportTransitGatewayRoutesRequest method.
  18840. // req, resp := client.ExportTransitGatewayRoutesRequest(params)
  18841. //
  18842. // err := req.Send()
  18843. // if err == nil { // resp is now filled
  18844. // fmt.Println(resp)
  18845. // }
  18846. //
  18847. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
  18848. func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
  18849. op := &request.Operation{
  18850. Name: opExportTransitGatewayRoutes,
  18851. HTTPMethod: "POST",
  18852. HTTPPath: "/",
  18853. }
  18854. if input == nil {
  18855. input = &ExportTransitGatewayRoutesInput{}
  18856. }
  18857. output = &ExportTransitGatewayRoutesOutput{}
  18858. req = c.newRequest(op, input, output)
  18859. return
  18860. }
  18861. // ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
  18862. //
  18863. // Exports routes from the specified transit gateway route table to the specified
  18864. // S3 bucket. By default, all routes are exported. Alternatively, you can filter
  18865. // by CIDR range.
  18866. //
  18867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18868. // with awserr.Error's Code and Message methods to get detailed information about
  18869. // the error.
  18870. //
  18871. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18872. // API operation ExportTransitGatewayRoutes for usage and error information.
  18873. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
  18874. func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
  18875. req, out := c.ExportTransitGatewayRoutesRequest(input)
  18876. return out, req.Send()
  18877. }
  18878. // ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
  18879. // the ability to pass a context and additional request options.
  18880. //
  18881. // See ExportTransitGatewayRoutes for details on how to use this API operation.
  18882. //
  18883. // The context must be non-nil and will be used for request cancellation. If
  18884. // the context is nil a panic will occur. In the future the SDK may create
  18885. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18886. // for more information on using Contexts.
  18887. func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
  18888. req, out := c.ExportTransitGatewayRoutesRequest(input)
  18889. req.SetContext(ctx)
  18890. req.ApplyOptions(opts...)
  18891. return out, req.Send()
  18892. }
  18893. const opGetConsoleOutput = "GetConsoleOutput"
  18894. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  18895. // client's request for the GetConsoleOutput operation. The "output" return
  18896. // value will be populated with the request's response once the request completes
  18897. // successfully.
  18898. //
  18899. // Use "Send" method on the returned Request to send the API call to the service.
  18900. // the "output" return value is not valid until after Send returns without error.
  18901. //
  18902. // See GetConsoleOutput for more information on using the GetConsoleOutput
  18903. // API call, and error handling.
  18904. //
  18905. // This method is useful when you want to inject custom logic or configuration
  18906. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18907. //
  18908. //
  18909. // // Example sending a request using the GetConsoleOutputRequest method.
  18910. // req, resp := client.GetConsoleOutputRequest(params)
  18911. //
  18912. // err := req.Send()
  18913. // if err == nil { // resp is now filled
  18914. // fmt.Println(resp)
  18915. // }
  18916. //
  18917. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  18918. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  18919. op := &request.Operation{
  18920. Name: opGetConsoleOutput,
  18921. HTTPMethod: "POST",
  18922. HTTPPath: "/",
  18923. }
  18924. if input == nil {
  18925. input = &GetConsoleOutputInput{}
  18926. }
  18927. output = &GetConsoleOutputOutput{}
  18928. req = c.newRequest(op, input, output)
  18929. return
  18930. }
  18931. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  18932. //
  18933. // Gets the console output for the specified instance. For Linux instances,
  18934. // the instance console output displays the exact console output that would
  18935. // normally be displayed on a physical monitor attached to a computer. For Windows
  18936. // instances, the instance console output includes the last three system event
  18937. // log errors.
  18938. //
  18939. // By default, the console output returns buffered information that was posted
  18940. // shortly after an instance transition state (start, stop, reboot, or terminate).
  18941. // This information is available for at least one hour after the most recent
  18942. // post. Only the most recent 64 KB of console output is available.
  18943. //
  18944. // You can optionally retrieve the latest serial console output at any time
  18945. // during the instance lifecycle. This option is supported on instance types
  18946. // that use the Nitro hypervisor.
  18947. //
  18948. // For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
  18949. // in the Amazon Elastic Compute Cloud User Guide.
  18950. //
  18951. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18952. // with awserr.Error's Code and Message methods to get detailed information about
  18953. // the error.
  18954. //
  18955. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18956. // API operation GetConsoleOutput for usage and error information.
  18957. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  18958. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  18959. req, out := c.GetConsoleOutputRequest(input)
  18960. return out, req.Send()
  18961. }
  18962. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  18963. // the ability to pass a context and additional request options.
  18964. //
  18965. // See GetConsoleOutput for details on how to use this API operation.
  18966. //
  18967. // The context must be non-nil and will be used for request cancellation. If
  18968. // the context is nil a panic will occur. In the future the SDK may create
  18969. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18970. // for more information on using Contexts.
  18971. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  18972. req, out := c.GetConsoleOutputRequest(input)
  18973. req.SetContext(ctx)
  18974. req.ApplyOptions(opts...)
  18975. return out, req.Send()
  18976. }
  18977. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  18978. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  18979. // client's request for the GetConsoleScreenshot operation. The "output" return
  18980. // value will be populated with the request's response once the request completes
  18981. // successfully.
  18982. //
  18983. // Use "Send" method on the returned Request to send the API call to the service.
  18984. // the "output" return value is not valid until after Send returns without error.
  18985. //
  18986. // See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
  18987. // API call, and error handling.
  18988. //
  18989. // This method is useful when you want to inject custom logic or configuration
  18990. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  18991. //
  18992. //
  18993. // // Example sending a request using the GetConsoleScreenshotRequest method.
  18994. // req, resp := client.GetConsoleScreenshotRequest(params)
  18995. //
  18996. // err := req.Send()
  18997. // if err == nil { // resp is now filled
  18998. // fmt.Println(resp)
  18999. // }
  19000. //
  19001. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  19002. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  19003. op := &request.Operation{
  19004. Name: opGetConsoleScreenshot,
  19005. HTTPMethod: "POST",
  19006. HTTPPath: "/",
  19007. }
  19008. if input == nil {
  19009. input = &GetConsoleScreenshotInput{}
  19010. }
  19011. output = &GetConsoleScreenshotOutput{}
  19012. req = c.newRequest(op, input, output)
  19013. return
  19014. }
  19015. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  19016. //
  19017. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  19018. //
  19019. // The returned content is Base64-encoded.
  19020. //
  19021. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19022. // with awserr.Error's Code and Message methods to get detailed information about
  19023. // the error.
  19024. //
  19025. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19026. // API operation GetConsoleScreenshot for usage and error information.
  19027. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  19028. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  19029. req, out := c.GetConsoleScreenshotRequest(input)
  19030. return out, req.Send()
  19031. }
  19032. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  19033. // the ability to pass a context and additional request options.
  19034. //
  19035. // See GetConsoleScreenshot for details on how to use this API operation.
  19036. //
  19037. // The context must be non-nil and will be used for request cancellation. If
  19038. // the context is nil a panic will occur. In the future the SDK may create
  19039. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19040. // for more information on using Contexts.
  19041. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  19042. req, out := c.GetConsoleScreenshotRequest(input)
  19043. req.SetContext(ctx)
  19044. req.ApplyOptions(opts...)
  19045. return out, req.Send()
  19046. }
  19047. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  19048. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  19049. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  19050. // value will be populated with the request's response once the request completes
  19051. // successfully.
  19052. //
  19053. // Use "Send" method on the returned Request to send the API call to the service.
  19054. // the "output" return value is not valid until after Send returns without error.
  19055. //
  19056. // See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
  19057. // API call, and error handling.
  19058. //
  19059. // This method is useful when you want to inject custom logic or configuration
  19060. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19061. //
  19062. //
  19063. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  19064. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  19065. //
  19066. // err := req.Send()
  19067. // if err == nil { // resp is now filled
  19068. // fmt.Println(resp)
  19069. // }
  19070. //
  19071. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  19072. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  19073. op := &request.Operation{
  19074. Name: opGetHostReservationPurchasePreview,
  19075. HTTPMethod: "POST",
  19076. HTTPPath: "/",
  19077. }
  19078. if input == nil {
  19079. input = &GetHostReservationPurchasePreviewInput{}
  19080. }
  19081. output = &GetHostReservationPurchasePreviewOutput{}
  19082. req = c.newRequest(op, input, output)
  19083. return
  19084. }
  19085. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  19086. //
  19087. // Preview a reservation purchase with configurations that match those of your
  19088. // Dedicated Host. You must have active Dedicated Hosts in your account before
  19089. // you purchase a reservation.
  19090. //
  19091. // This is a preview of the PurchaseHostReservation action and does not result
  19092. // in the offering being purchased.
  19093. //
  19094. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19095. // with awserr.Error's Code and Message methods to get detailed information about
  19096. // the error.
  19097. //
  19098. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19099. // API operation GetHostReservationPurchasePreview for usage and error information.
  19100. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  19101. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  19102. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  19103. return out, req.Send()
  19104. }
  19105. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  19106. // the ability to pass a context and additional request options.
  19107. //
  19108. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  19109. //
  19110. // The context must be non-nil and will be used for request cancellation. If
  19111. // the context is nil a panic will occur. In the future the SDK may create
  19112. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19113. // for more information on using Contexts.
  19114. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  19115. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  19116. req.SetContext(ctx)
  19117. req.ApplyOptions(opts...)
  19118. return out, req.Send()
  19119. }
  19120. const opGetLaunchTemplateData = "GetLaunchTemplateData"
  19121. // GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
  19122. // client's request for the GetLaunchTemplateData 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 GetLaunchTemplateData for more information on using the GetLaunchTemplateData
  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 GetLaunchTemplateDataRequest method.
  19137. // req, resp := client.GetLaunchTemplateDataRequest(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/GetLaunchTemplateData
  19145. func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
  19146. op := &request.Operation{
  19147. Name: opGetLaunchTemplateData,
  19148. HTTPMethod: "POST",
  19149. HTTPPath: "/",
  19150. }
  19151. if input == nil {
  19152. input = &GetLaunchTemplateDataInput{}
  19153. }
  19154. output = &GetLaunchTemplateDataOutput{}
  19155. req = c.newRequest(op, input, output)
  19156. return
  19157. }
  19158. // GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
  19159. //
  19160. // Retrieves the configuration data of the specified instance. You can use this
  19161. // data to create a launch template.
  19162. //
  19163. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19164. // with awserr.Error's Code and Message methods to get detailed information about
  19165. // the error.
  19166. //
  19167. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19168. // API operation GetLaunchTemplateData for usage and error information.
  19169. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
  19170. func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
  19171. req, out := c.GetLaunchTemplateDataRequest(input)
  19172. return out, req.Send()
  19173. }
  19174. // GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
  19175. // the ability to pass a context and additional request options.
  19176. //
  19177. // See GetLaunchTemplateData for details on how to use this API operation.
  19178. //
  19179. // The context must be non-nil and will be used for request cancellation. If
  19180. // the context is nil a panic will occur. In the future the SDK may create
  19181. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19182. // for more information on using Contexts.
  19183. func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
  19184. req, out := c.GetLaunchTemplateDataRequest(input)
  19185. req.SetContext(ctx)
  19186. req.ApplyOptions(opts...)
  19187. return out, req.Send()
  19188. }
  19189. const opGetPasswordData = "GetPasswordData"
  19190. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  19191. // client's request for the GetPasswordData operation. The "output" return
  19192. // value will be populated with the request's response once the request completes
  19193. // successfully.
  19194. //
  19195. // Use "Send" method on the returned Request to send the API call to the service.
  19196. // the "output" return value is not valid until after Send returns without error.
  19197. //
  19198. // See GetPasswordData for more information on using the GetPasswordData
  19199. // API call, and error handling.
  19200. //
  19201. // This method is useful when you want to inject custom logic or configuration
  19202. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19203. //
  19204. //
  19205. // // Example sending a request using the GetPasswordDataRequest method.
  19206. // req, resp := client.GetPasswordDataRequest(params)
  19207. //
  19208. // err := req.Send()
  19209. // if err == nil { // resp is now filled
  19210. // fmt.Println(resp)
  19211. // }
  19212. //
  19213. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  19214. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  19215. op := &request.Operation{
  19216. Name: opGetPasswordData,
  19217. HTTPMethod: "POST",
  19218. HTTPPath: "/",
  19219. }
  19220. if input == nil {
  19221. input = &GetPasswordDataInput{}
  19222. }
  19223. output = &GetPasswordDataOutput{}
  19224. req = c.newRequest(op, input, output)
  19225. return
  19226. }
  19227. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  19228. //
  19229. // Retrieves the encrypted administrator password for a running Windows instance.
  19230. //
  19231. // The Windows password is generated at boot by the EC2Config service or EC2Launch
  19232. // scripts (Windows Server 2016 and later). This usually only happens the first
  19233. // time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
  19234. // and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
  19235. // in the Amazon Elastic Compute Cloud User Guide.
  19236. //
  19237. // For the EC2Config service, the password is not generated for rebundled AMIs
  19238. // unless Ec2SetPassword is enabled before bundling.
  19239. //
  19240. // The password is encrypted using the key pair that you specified when you
  19241. // launched the instance. You must provide the corresponding key pair file.
  19242. //
  19243. // When you launch an instance, password generation and encryption may take
  19244. // a few minutes. If you try to retrieve the password before it's available,
  19245. // the output returns an empty string. We recommend that you wait up to 15 minutes
  19246. // after launching an instance before trying to retrieve the generated password.
  19247. //
  19248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19249. // with awserr.Error's Code and Message methods to get detailed information about
  19250. // the error.
  19251. //
  19252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19253. // API operation GetPasswordData for usage and error information.
  19254. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  19255. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  19256. req, out := c.GetPasswordDataRequest(input)
  19257. return out, req.Send()
  19258. }
  19259. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  19260. // the ability to pass a context and additional request options.
  19261. //
  19262. // See GetPasswordData for details on how to use this API operation.
  19263. //
  19264. // The context must be non-nil and will be used for request cancellation. If
  19265. // the context is nil a panic will occur. In the future the SDK may create
  19266. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19267. // for more information on using Contexts.
  19268. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  19269. req, out := c.GetPasswordDataRequest(input)
  19270. req.SetContext(ctx)
  19271. req.ApplyOptions(opts...)
  19272. return out, req.Send()
  19273. }
  19274. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  19275. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  19276. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  19277. // value will be populated with the request's response once the request completes
  19278. // successfully.
  19279. //
  19280. // Use "Send" method on the returned Request to send the API call to the service.
  19281. // the "output" return value is not valid until after Send returns without error.
  19282. //
  19283. // See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
  19284. // API call, and error handling.
  19285. //
  19286. // This method is useful when you want to inject custom logic or configuration
  19287. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19288. //
  19289. //
  19290. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  19291. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  19292. //
  19293. // err := req.Send()
  19294. // if err == nil { // resp is now filled
  19295. // fmt.Println(resp)
  19296. // }
  19297. //
  19298. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  19299. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  19300. op := &request.Operation{
  19301. Name: opGetReservedInstancesExchangeQuote,
  19302. HTTPMethod: "POST",
  19303. HTTPPath: "/",
  19304. }
  19305. if input == nil {
  19306. input = &GetReservedInstancesExchangeQuoteInput{}
  19307. }
  19308. output = &GetReservedInstancesExchangeQuoteOutput{}
  19309. req = c.newRequest(op, input, output)
  19310. return
  19311. }
  19312. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  19313. //
  19314. // Returns a quote and exchange information for exchanging one or more specified
  19315. // Convertible Reserved Instances for a new Convertible Reserved Instance. If
  19316. // the exchange cannot be performed, the reason is returned in the response.
  19317. // Use AcceptReservedInstancesExchangeQuote to perform the exchange.
  19318. //
  19319. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19320. // with awserr.Error's Code and Message methods to get detailed information about
  19321. // the error.
  19322. //
  19323. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19324. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  19325. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  19326. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  19327. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  19328. return out, req.Send()
  19329. }
  19330. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  19331. // the ability to pass a context and additional request options.
  19332. //
  19333. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  19334. //
  19335. // The context must be non-nil and will be used for request cancellation. If
  19336. // the context is nil a panic will occur. In the future the SDK may create
  19337. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19338. // for more information on using Contexts.
  19339. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  19340. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  19341. req.SetContext(ctx)
  19342. req.ApplyOptions(opts...)
  19343. return out, req.Send()
  19344. }
  19345. const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
  19346. // GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
  19347. // client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
  19348. // value will be populated with the request's response once the request completes
  19349. // successfully.
  19350. //
  19351. // Use "Send" method on the returned Request to send the API call to the service.
  19352. // the "output" return value is not valid until after Send returns without error.
  19353. //
  19354. // See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
  19355. // API call, and error handling.
  19356. //
  19357. // This method is useful when you want to inject custom logic or configuration
  19358. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19359. //
  19360. //
  19361. // // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
  19362. // req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
  19363. //
  19364. // err := req.Send()
  19365. // if err == nil { // resp is now filled
  19366. // fmt.Println(resp)
  19367. // }
  19368. //
  19369. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
  19370. func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
  19371. op := &request.Operation{
  19372. Name: opGetTransitGatewayAttachmentPropagations,
  19373. HTTPMethod: "POST",
  19374. HTTPPath: "/",
  19375. }
  19376. if input == nil {
  19377. input = &GetTransitGatewayAttachmentPropagationsInput{}
  19378. }
  19379. output = &GetTransitGatewayAttachmentPropagationsOutput{}
  19380. req = c.newRequest(op, input, output)
  19381. return
  19382. }
  19383. // GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
  19384. //
  19385. // Lists the route tables to which the specified resource attachment propagates
  19386. // routes.
  19387. //
  19388. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19389. // with awserr.Error's Code and Message methods to get detailed information about
  19390. // the error.
  19391. //
  19392. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19393. // API operation GetTransitGatewayAttachmentPropagations for usage and error information.
  19394. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
  19395. func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
  19396. req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
  19397. return out, req.Send()
  19398. }
  19399. // GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
  19400. // the ability to pass a context and additional request options.
  19401. //
  19402. // See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
  19403. //
  19404. // The context must be non-nil and will be used for request cancellation. If
  19405. // the context is nil a panic will occur. In the future the SDK may create
  19406. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19407. // for more information on using Contexts.
  19408. func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
  19409. req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
  19410. req.SetContext(ctx)
  19411. req.ApplyOptions(opts...)
  19412. return out, req.Send()
  19413. }
  19414. const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
  19415. // GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
  19416. // client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
  19417. // value will be populated with the request's response once the request completes
  19418. // successfully.
  19419. //
  19420. // Use "Send" method on the returned Request to send the API call to the service.
  19421. // the "output" return value is not valid until after Send returns without error.
  19422. //
  19423. // See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
  19424. // API call, and error handling.
  19425. //
  19426. // This method is useful when you want to inject custom logic or configuration
  19427. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19428. //
  19429. //
  19430. // // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
  19431. // req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
  19432. //
  19433. // err := req.Send()
  19434. // if err == nil { // resp is now filled
  19435. // fmt.Println(resp)
  19436. // }
  19437. //
  19438. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
  19439. func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
  19440. op := &request.Operation{
  19441. Name: opGetTransitGatewayRouteTableAssociations,
  19442. HTTPMethod: "POST",
  19443. HTTPPath: "/",
  19444. }
  19445. if input == nil {
  19446. input = &GetTransitGatewayRouteTableAssociationsInput{}
  19447. }
  19448. output = &GetTransitGatewayRouteTableAssociationsOutput{}
  19449. req = c.newRequest(op, input, output)
  19450. return
  19451. }
  19452. // GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
  19453. //
  19454. // Gets information about the associations for the specified transit gateway
  19455. // route table.
  19456. //
  19457. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19458. // with awserr.Error's Code and Message methods to get detailed information about
  19459. // the error.
  19460. //
  19461. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19462. // API operation GetTransitGatewayRouteTableAssociations for usage and error information.
  19463. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
  19464. func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
  19465. req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
  19466. return out, req.Send()
  19467. }
  19468. // GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
  19469. // the ability to pass a context and additional request options.
  19470. //
  19471. // See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
  19472. //
  19473. // The context must be non-nil and will be used for request cancellation. If
  19474. // the context is nil a panic will occur. In the future the SDK may create
  19475. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19476. // for more information on using Contexts.
  19477. func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
  19478. req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
  19479. req.SetContext(ctx)
  19480. req.ApplyOptions(opts...)
  19481. return out, req.Send()
  19482. }
  19483. const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
  19484. // GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
  19485. // client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
  19486. // value will be populated with the request's response once the request completes
  19487. // successfully.
  19488. //
  19489. // Use "Send" method on the returned Request to send the API call to the service.
  19490. // the "output" return value is not valid until after Send returns without error.
  19491. //
  19492. // See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
  19493. // API call, and error handling.
  19494. //
  19495. // This method is useful when you want to inject custom logic or configuration
  19496. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19497. //
  19498. //
  19499. // // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
  19500. // req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
  19501. //
  19502. // err := req.Send()
  19503. // if err == nil { // resp is now filled
  19504. // fmt.Println(resp)
  19505. // }
  19506. //
  19507. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
  19508. func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
  19509. op := &request.Operation{
  19510. Name: opGetTransitGatewayRouteTablePropagations,
  19511. HTTPMethod: "POST",
  19512. HTTPPath: "/",
  19513. }
  19514. if input == nil {
  19515. input = &GetTransitGatewayRouteTablePropagationsInput{}
  19516. }
  19517. output = &GetTransitGatewayRouteTablePropagationsOutput{}
  19518. req = c.newRequest(op, input, output)
  19519. return
  19520. }
  19521. // GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
  19522. //
  19523. // Gets information about the route table propagations for the specified transit
  19524. // gateway route table.
  19525. //
  19526. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19527. // with awserr.Error's Code and Message methods to get detailed information about
  19528. // the error.
  19529. //
  19530. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19531. // API operation GetTransitGatewayRouteTablePropagations for usage and error information.
  19532. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
  19533. func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
  19534. req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
  19535. return out, req.Send()
  19536. }
  19537. // GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
  19538. // the ability to pass a context and additional request options.
  19539. //
  19540. // See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
  19541. //
  19542. // The context must be non-nil and will be used for request cancellation. If
  19543. // the context is nil a panic will occur. In the future the SDK may create
  19544. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19545. // for more information on using Contexts.
  19546. func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
  19547. req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
  19548. req.SetContext(ctx)
  19549. req.ApplyOptions(opts...)
  19550. return out, req.Send()
  19551. }
  19552. const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
  19553. // ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
  19554. // client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
  19555. // value will be populated with the request's response once the request completes
  19556. // successfully.
  19557. //
  19558. // Use "Send" method on the returned Request to send the API call to the service.
  19559. // the "output" return value is not valid until after Send returns without error.
  19560. //
  19561. // See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
  19562. // API call, and error handling.
  19563. //
  19564. // This method is useful when you want to inject custom logic or configuration
  19565. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19566. //
  19567. //
  19568. // // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
  19569. // req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
  19570. //
  19571. // err := req.Send()
  19572. // if err == nil { // resp is now filled
  19573. // fmt.Println(resp)
  19574. // }
  19575. //
  19576. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
  19577. func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
  19578. op := &request.Operation{
  19579. Name: opImportClientVpnClientCertificateRevocationList,
  19580. HTTPMethod: "POST",
  19581. HTTPPath: "/",
  19582. }
  19583. if input == nil {
  19584. input = &ImportClientVpnClientCertificateRevocationListInput{}
  19585. }
  19586. output = &ImportClientVpnClientCertificateRevocationListOutput{}
  19587. req = c.newRequest(op, input, output)
  19588. return
  19589. }
  19590. // ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
  19591. //
  19592. // Uploads a client certificate revocation list to the specified Client VPN
  19593. // endpoint. Uploading a client certificate revocation list overwrites the existing
  19594. // client certificate revocation list.
  19595. //
  19596. // Uploading a client certificate revocation list resets existing client connections.
  19597. //
  19598. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19599. // with awserr.Error's Code and Message methods to get detailed information about
  19600. // the error.
  19601. //
  19602. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19603. // API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
  19604. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
  19605. func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
  19606. req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
  19607. return out, req.Send()
  19608. }
  19609. // ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
  19610. // the ability to pass a context and additional request options.
  19611. //
  19612. // See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
  19613. //
  19614. // The context must be non-nil and will be used for request cancellation. If
  19615. // the context is nil a panic will occur. In the future the SDK may create
  19616. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19617. // for more information on using Contexts.
  19618. func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
  19619. req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
  19620. req.SetContext(ctx)
  19621. req.ApplyOptions(opts...)
  19622. return out, req.Send()
  19623. }
  19624. const opImportImage = "ImportImage"
  19625. // ImportImageRequest generates a "aws/request.Request" representing the
  19626. // client's request for the ImportImage 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 ImportImage for more information on using the ImportImage
  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 ImportImageRequest method.
  19641. // req, resp := client.ImportImageRequest(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/ImportImage
  19649. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  19650. op := &request.Operation{
  19651. Name: opImportImage,
  19652. HTTPMethod: "POST",
  19653. HTTPPath: "/",
  19654. }
  19655. if input == nil {
  19656. input = &ImportImageInput{}
  19657. }
  19658. output = &ImportImageOutput{}
  19659. req = c.newRequest(op, input, output)
  19660. return
  19661. }
  19662. // ImportImage API operation for Amazon Elastic Compute Cloud.
  19663. //
  19664. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  19665. // Machine Image (AMI). For more information, see Importing a VM as an Image
  19666. // Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  19667. // in the VM Import/Export User Guide.
  19668. //
  19669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19670. // with awserr.Error's Code and Message methods to get detailed information about
  19671. // the error.
  19672. //
  19673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19674. // API operation ImportImage for usage and error information.
  19675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  19676. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  19677. req, out := c.ImportImageRequest(input)
  19678. return out, req.Send()
  19679. }
  19680. // ImportImageWithContext is the same as ImportImage with the addition of
  19681. // the ability to pass a context and additional request options.
  19682. //
  19683. // See ImportImage for details on how to use this API operation.
  19684. //
  19685. // The context must be non-nil and will be used for request cancellation. If
  19686. // the context is nil a panic will occur. In the future the SDK may create
  19687. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19688. // for more information on using Contexts.
  19689. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  19690. req, out := c.ImportImageRequest(input)
  19691. req.SetContext(ctx)
  19692. req.ApplyOptions(opts...)
  19693. return out, req.Send()
  19694. }
  19695. const opImportInstance = "ImportInstance"
  19696. // ImportInstanceRequest generates a "aws/request.Request" representing the
  19697. // client's request for the ImportInstance operation. The "output" return
  19698. // value will be populated with the request's response once the request completes
  19699. // successfully.
  19700. //
  19701. // Use "Send" method on the returned Request to send the API call to the service.
  19702. // the "output" return value is not valid until after Send returns without error.
  19703. //
  19704. // See ImportInstance for more information on using the ImportInstance
  19705. // API call, and error handling.
  19706. //
  19707. // This method is useful when you want to inject custom logic or configuration
  19708. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19709. //
  19710. //
  19711. // // Example sending a request using the ImportInstanceRequest method.
  19712. // req, resp := client.ImportInstanceRequest(params)
  19713. //
  19714. // err := req.Send()
  19715. // if err == nil { // resp is now filled
  19716. // fmt.Println(resp)
  19717. // }
  19718. //
  19719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  19720. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  19721. op := &request.Operation{
  19722. Name: opImportInstance,
  19723. HTTPMethod: "POST",
  19724. HTTPPath: "/",
  19725. }
  19726. if input == nil {
  19727. input = &ImportInstanceInput{}
  19728. }
  19729. output = &ImportInstanceOutput{}
  19730. req = c.newRequest(op, input, output)
  19731. return
  19732. }
  19733. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  19734. //
  19735. // Creates an import instance task using metadata from the specified disk image.
  19736. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  19737. // use ImportImage. For more information, see Importing a Virtual Machine Using
  19738. // the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  19739. //
  19740. // For information about the import manifest referenced by this API action,
  19741. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  19742. //
  19743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19744. // with awserr.Error's Code and Message methods to get detailed information about
  19745. // the error.
  19746. //
  19747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19748. // API operation ImportInstance for usage and error information.
  19749. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  19750. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  19751. req, out := c.ImportInstanceRequest(input)
  19752. return out, req.Send()
  19753. }
  19754. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  19755. // the ability to pass a context and additional request options.
  19756. //
  19757. // See ImportInstance for details on how to use this API operation.
  19758. //
  19759. // The context must be non-nil and will be used for request cancellation. If
  19760. // the context is nil a panic will occur. In the future the SDK may create
  19761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19762. // for more information on using Contexts.
  19763. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  19764. req, out := c.ImportInstanceRequest(input)
  19765. req.SetContext(ctx)
  19766. req.ApplyOptions(opts...)
  19767. return out, req.Send()
  19768. }
  19769. const opImportKeyPair = "ImportKeyPair"
  19770. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  19771. // client's request for the ImportKeyPair operation. The "output" return
  19772. // value will be populated with the request's response once the request completes
  19773. // successfully.
  19774. //
  19775. // Use "Send" method on the returned Request to send the API call to the service.
  19776. // the "output" return value is not valid until after Send returns without error.
  19777. //
  19778. // See ImportKeyPair for more information on using the ImportKeyPair
  19779. // API call, and error handling.
  19780. //
  19781. // This method is useful when you want to inject custom logic or configuration
  19782. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19783. //
  19784. //
  19785. // // Example sending a request using the ImportKeyPairRequest method.
  19786. // req, resp := client.ImportKeyPairRequest(params)
  19787. //
  19788. // err := req.Send()
  19789. // if err == nil { // resp is now filled
  19790. // fmt.Println(resp)
  19791. // }
  19792. //
  19793. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  19794. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  19795. op := &request.Operation{
  19796. Name: opImportKeyPair,
  19797. HTTPMethod: "POST",
  19798. HTTPPath: "/",
  19799. }
  19800. if input == nil {
  19801. input = &ImportKeyPairInput{}
  19802. }
  19803. output = &ImportKeyPairOutput{}
  19804. req = c.newRequest(op, input, output)
  19805. return
  19806. }
  19807. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  19808. //
  19809. // Imports the public key from an RSA key pair that you created with a third-party
  19810. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  19811. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  19812. // you create the key pair and give AWS just the public key. The private key
  19813. // is never transferred between you and AWS.
  19814. //
  19815. // For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  19816. // in the Amazon Elastic Compute Cloud User Guide.
  19817. //
  19818. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19819. // with awserr.Error's Code and Message methods to get detailed information about
  19820. // the error.
  19821. //
  19822. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19823. // API operation ImportKeyPair for usage and error information.
  19824. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  19825. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  19826. req, out := c.ImportKeyPairRequest(input)
  19827. return out, req.Send()
  19828. }
  19829. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  19830. // the ability to pass a context and additional request options.
  19831. //
  19832. // See ImportKeyPair for details on how to use this API operation.
  19833. //
  19834. // The context must be non-nil and will be used for request cancellation. If
  19835. // the context is nil a panic will occur. In the future the SDK may create
  19836. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19837. // for more information on using Contexts.
  19838. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  19839. req, out := c.ImportKeyPairRequest(input)
  19840. req.SetContext(ctx)
  19841. req.ApplyOptions(opts...)
  19842. return out, req.Send()
  19843. }
  19844. const opImportSnapshot = "ImportSnapshot"
  19845. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  19846. // client's request for the ImportSnapshot operation. The "output" return
  19847. // value will be populated with the request's response once the request completes
  19848. // successfully.
  19849. //
  19850. // Use "Send" method on the returned Request to send the API call to the service.
  19851. // the "output" return value is not valid until after Send returns without error.
  19852. //
  19853. // See ImportSnapshot for more information on using the ImportSnapshot
  19854. // API call, and error handling.
  19855. //
  19856. // This method is useful when you want to inject custom logic or configuration
  19857. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19858. //
  19859. //
  19860. // // Example sending a request using the ImportSnapshotRequest method.
  19861. // req, resp := client.ImportSnapshotRequest(params)
  19862. //
  19863. // err := req.Send()
  19864. // if err == nil { // resp is now filled
  19865. // fmt.Println(resp)
  19866. // }
  19867. //
  19868. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  19869. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  19870. op := &request.Operation{
  19871. Name: opImportSnapshot,
  19872. HTTPMethod: "POST",
  19873. HTTPPath: "/",
  19874. }
  19875. if input == nil {
  19876. input = &ImportSnapshotInput{}
  19877. }
  19878. output = &ImportSnapshotOutput{}
  19879. req = c.newRequest(op, input, output)
  19880. return
  19881. }
  19882. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  19883. //
  19884. // Imports a disk into an EBS snapshot.
  19885. //
  19886. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19887. // with awserr.Error's Code and Message methods to get detailed information about
  19888. // the error.
  19889. //
  19890. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19891. // API operation ImportSnapshot for usage and error information.
  19892. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  19893. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  19894. req, out := c.ImportSnapshotRequest(input)
  19895. return out, req.Send()
  19896. }
  19897. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  19898. // the ability to pass a context and additional request options.
  19899. //
  19900. // See ImportSnapshot for details on how to use this API operation.
  19901. //
  19902. // The context must be non-nil and will be used for request cancellation. If
  19903. // the context is nil a panic will occur. In the future the SDK may create
  19904. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19905. // for more information on using Contexts.
  19906. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  19907. req, out := c.ImportSnapshotRequest(input)
  19908. req.SetContext(ctx)
  19909. req.ApplyOptions(opts...)
  19910. return out, req.Send()
  19911. }
  19912. const opImportVolume = "ImportVolume"
  19913. // ImportVolumeRequest generates a "aws/request.Request" representing the
  19914. // client's request for the ImportVolume operation. The "output" return
  19915. // value will be populated with the request's response once the request completes
  19916. // successfully.
  19917. //
  19918. // Use "Send" method on the returned Request to send the API call to the service.
  19919. // the "output" return value is not valid until after Send returns without error.
  19920. //
  19921. // See ImportVolume for more information on using the ImportVolume
  19922. // API call, and error handling.
  19923. //
  19924. // This method is useful when you want to inject custom logic or configuration
  19925. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19926. //
  19927. //
  19928. // // Example sending a request using the ImportVolumeRequest method.
  19929. // req, resp := client.ImportVolumeRequest(params)
  19930. //
  19931. // err := req.Send()
  19932. // if err == nil { // resp is now filled
  19933. // fmt.Println(resp)
  19934. // }
  19935. //
  19936. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  19937. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  19938. op := &request.Operation{
  19939. Name: opImportVolume,
  19940. HTTPMethod: "POST",
  19941. HTTPPath: "/",
  19942. }
  19943. if input == nil {
  19944. input = &ImportVolumeInput{}
  19945. }
  19946. output = &ImportVolumeOutput{}
  19947. req = c.newRequest(op, input, output)
  19948. return
  19949. }
  19950. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  19951. //
  19952. // Creates an import volume task using metadata from the specified disk image.For
  19953. // more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  19954. //
  19955. // For information about the import manifest referenced by this API action,
  19956. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  19957. //
  19958. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  19959. // with awserr.Error's Code and Message methods to get detailed information about
  19960. // the error.
  19961. //
  19962. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  19963. // API operation ImportVolume for usage and error information.
  19964. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  19965. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  19966. req, out := c.ImportVolumeRequest(input)
  19967. return out, req.Send()
  19968. }
  19969. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  19970. // the ability to pass a context and additional request options.
  19971. //
  19972. // See ImportVolume for details on how to use this API operation.
  19973. //
  19974. // The context must be non-nil and will be used for request cancellation. If
  19975. // the context is nil a panic will occur. In the future the SDK may create
  19976. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  19977. // for more information on using Contexts.
  19978. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  19979. req, out := c.ImportVolumeRequest(input)
  19980. req.SetContext(ctx)
  19981. req.ApplyOptions(opts...)
  19982. return out, req.Send()
  19983. }
  19984. const opModifyCapacityReservation = "ModifyCapacityReservation"
  19985. // ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
  19986. // client's request for the ModifyCapacityReservation operation. The "output" return
  19987. // value will be populated with the request's response once the request completes
  19988. // successfully.
  19989. //
  19990. // Use "Send" method on the returned Request to send the API call to the service.
  19991. // the "output" return value is not valid until after Send returns without error.
  19992. //
  19993. // See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
  19994. // API call, and error handling.
  19995. //
  19996. // This method is useful when you want to inject custom logic or configuration
  19997. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  19998. //
  19999. //
  20000. // // Example sending a request using the ModifyCapacityReservationRequest method.
  20001. // req, resp := client.ModifyCapacityReservationRequest(params)
  20002. //
  20003. // err := req.Send()
  20004. // if err == nil { // resp is now filled
  20005. // fmt.Println(resp)
  20006. // }
  20007. //
  20008. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
  20009. func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
  20010. op := &request.Operation{
  20011. Name: opModifyCapacityReservation,
  20012. HTTPMethod: "POST",
  20013. HTTPPath: "/",
  20014. }
  20015. if input == nil {
  20016. input = &ModifyCapacityReservationInput{}
  20017. }
  20018. output = &ModifyCapacityReservationOutput{}
  20019. req = c.newRequest(op, input, output)
  20020. return
  20021. }
  20022. // ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
  20023. //
  20024. // Modifies a Capacity Reservation's capacity and the conditions under which
  20025. // it is to be released. You cannot change a Capacity Reservation's instance
  20026. // type, EBS optimization, instance store settings, platform, Availability Zone,
  20027. // or instance eligibility. If you need to modify any of these attributes, we
  20028. // recommend that you cancel the Capacity Reservation, and then create a new
  20029. // one with the required attributes.
  20030. //
  20031. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20032. // with awserr.Error's Code and Message methods to get detailed information about
  20033. // the error.
  20034. //
  20035. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20036. // API operation ModifyCapacityReservation for usage and error information.
  20037. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
  20038. func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
  20039. req, out := c.ModifyCapacityReservationRequest(input)
  20040. return out, req.Send()
  20041. }
  20042. // ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
  20043. // the ability to pass a context and additional request options.
  20044. //
  20045. // See ModifyCapacityReservation for details on how to use this API operation.
  20046. //
  20047. // The context must be non-nil and will be used for request cancellation. If
  20048. // the context is nil a panic will occur. In the future the SDK may create
  20049. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20050. // for more information on using Contexts.
  20051. func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
  20052. req, out := c.ModifyCapacityReservationRequest(input)
  20053. req.SetContext(ctx)
  20054. req.ApplyOptions(opts...)
  20055. return out, req.Send()
  20056. }
  20057. const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
  20058. // ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
  20059. // client's request for the ModifyClientVpnEndpoint operation. The "output" return
  20060. // value will be populated with the request's response once the request completes
  20061. // successfully.
  20062. //
  20063. // Use "Send" method on the returned Request to send the API call to the service.
  20064. // the "output" return value is not valid until after Send returns without error.
  20065. //
  20066. // See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
  20067. // API call, and error handling.
  20068. //
  20069. // This method is useful when you want to inject custom logic or configuration
  20070. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20071. //
  20072. //
  20073. // // Example sending a request using the ModifyClientVpnEndpointRequest method.
  20074. // req, resp := client.ModifyClientVpnEndpointRequest(params)
  20075. //
  20076. // err := req.Send()
  20077. // if err == nil { // resp is now filled
  20078. // fmt.Println(resp)
  20079. // }
  20080. //
  20081. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
  20082. func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
  20083. op := &request.Operation{
  20084. Name: opModifyClientVpnEndpoint,
  20085. HTTPMethod: "POST",
  20086. HTTPPath: "/",
  20087. }
  20088. if input == nil {
  20089. input = &ModifyClientVpnEndpointInput{}
  20090. }
  20091. output = &ModifyClientVpnEndpointOutput{}
  20092. req = c.newRequest(op, input, output)
  20093. return
  20094. }
  20095. // ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
  20096. //
  20097. // Modifies the specified Client VPN endpoint. You can only modify an endpoint's
  20098. // server certificate information, client connection logging information, DNS
  20099. // server, and description. Modifying the DNS server resets existing client
  20100. // connections.
  20101. //
  20102. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20103. // with awserr.Error's Code and Message methods to get detailed information about
  20104. // the error.
  20105. //
  20106. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20107. // API operation ModifyClientVpnEndpoint for usage and error information.
  20108. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
  20109. func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
  20110. req, out := c.ModifyClientVpnEndpointRequest(input)
  20111. return out, req.Send()
  20112. }
  20113. // ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
  20114. // the ability to pass a context and additional request options.
  20115. //
  20116. // See ModifyClientVpnEndpoint for details on how to use this API operation.
  20117. //
  20118. // The context must be non-nil and will be used for request cancellation. If
  20119. // the context is nil a panic will occur. In the future the SDK may create
  20120. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20121. // for more information on using Contexts.
  20122. func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
  20123. req, out := c.ModifyClientVpnEndpointRequest(input)
  20124. req.SetContext(ctx)
  20125. req.ApplyOptions(opts...)
  20126. return out, req.Send()
  20127. }
  20128. const opModifyFleet = "ModifyFleet"
  20129. // ModifyFleetRequest generates a "aws/request.Request" representing the
  20130. // client's request for the ModifyFleet operation. The "output" return
  20131. // value will be populated with the request's response once the request completes
  20132. // successfully.
  20133. //
  20134. // Use "Send" method on the returned Request to send the API call to the service.
  20135. // the "output" return value is not valid until after Send returns without error.
  20136. //
  20137. // See ModifyFleet for more information on using the ModifyFleet
  20138. // API call, and error handling.
  20139. //
  20140. // This method is useful when you want to inject custom logic or configuration
  20141. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20142. //
  20143. //
  20144. // // Example sending a request using the ModifyFleetRequest method.
  20145. // req, resp := client.ModifyFleetRequest(params)
  20146. //
  20147. // err := req.Send()
  20148. // if err == nil { // resp is now filled
  20149. // fmt.Println(resp)
  20150. // }
  20151. //
  20152. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  20153. func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
  20154. op := &request.Operation{
  20155. Name: opModifyFleet,
  20156. HTTPMethod: "POST",
  20157. HTTPPath: "/",
  20158. }
  20159. if input == nil {
  20160. input = &ModifyFleetInput{}
  20161. }
  20162. output = &ModifyFleetOutput{}
  20163. req = c.newRequest(op, input, output)
  20164. return
  20165. }
  20166. // ModifyFleet API operation for Amazon Elastic Compute Cloud.
  20167. //
  20168. // Modifies the specified EC2 Fleet.
  20169. //
  20170. // While the EC2 Fleet is being modified, it is in the modifying state.
  20171. //
  20172. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20173. // with awserr.Error's Code and Message methods to get detailed information about
  20174. // the error.
  20175. //
  20176. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20177. // API operation ModifyFleet for usage and error information.
  20178. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
  20179. func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
  20180. req, out := c.ModifyFleetRequest(input)
  20181. return out, req.Send()
  20182. }
  20183. // ModifyFleetWithContext is the same as ModifyFleet with the addition of
  20184. // the ability to pass a context and additional request options.
  20185. //
  20186. // See ModifyFleet for details on how to use this API operation.
  20187. //
  20188. // The context must be non-nil and will be used for request cancellation. If
  20189. // the context is nil a panic will occur. In the future the SDK may create
  20190. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20191. // for more information on using Contexts.
  20192. func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
  20193. req, out := c.ModifyFleetRequest(input)
  20194. req.SetContext(ctx)
  20195. req.ApplyOptions(opts...)
  20196. return out, req.Send()
  20197. }
  20198. const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
  20199. // ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  20200. // client's request for the ModifyFpgaImageAttribute operation. The "output" return
  20201. // value will be populated with the request's response once the request completes
  20202. // successfully.
  20203. //
  20204. // Use "Send" method on the returned Request to send the API call to the service.
  20205. // the "output" return value is not valid until after Send returns without error.
  20206. //
  20207. // See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
  20208. // API call, and error handling.
  20209. //
  20210. // This method is useful when you want to inject custom logic or configuration
  20211. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20212. //
  20213. //
  20214. // // Example sending a request using the ModifyFpgaImageAttributeRequest method.
  20215. // req, resp := client.ModifyFpgaImageAttributeRequest(params)
  20216. //
  20217. // err := req.Send()
  20218. // if err == nil { // resp is now filled
  20219. // fmt.Println(resp)
  20220. // }
  20221. //
  20222. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  20223. func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
  20224. op := &request.Operation{
  20225. Name: opModifyFpgaImageAttribute,
  20226. HTTPMethod: "POST",
  20227. HTTPPath: "/",
  20228. }
  20229. if input == nil {
  20230. input = &ModifyFpgaImageAttributeInput{}
  20231. }
  20232. output = &ModifyFpgaImageAttributeOutput{}
  20233. req = c.newRequest(op, input, output)
  20234. return
  20235. }
  20236. // ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  20237. //
  20238. // Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
  20239. //
  20240. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20241. // with awserr.Error's Code and Message methods to get detailed information about
  20242. // the error.
  20243. //
  20244. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20245. // API operation ModifyFpgaImageAttribute for usage and error information.
  20246. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
  20247. func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
  20248. req, out := c.ModifyFpgaImageAttributeRequest(input)
  20249. return out, req.Send()
  20250. }
  20251. // ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
  20252. // the ability to pass a context and additional request options.
  20253. //
  20254. // See ModifyFpgaImageAttribute for details on how to use this API operation.
  20255. //
  20256. // The context must be non-nil and will be used for request cancellation. If
  20257. // the context is nil a panic will occur. In the future the SDK may create
  20258. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20259. // for more information on using Contexts.
  20260. func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
  20261. req, out := c.ModifyFpgaImageAttributeRequest(input)
  20262. req.SetContext(ctx)
  20263. req.ApplyOptions(opts...)
  20264. return out, req.Send()
  20265. }
  20266. const opModifyHosts = "ModifyHosts"
  20267. // ModifyHostsRequest generates a "aws/request.Request" representing the
  20268. // client's request for the ModifyHosts operation. The "output" return
  20269. // value will be populated with the request's response once the request completes
  20270. // successfully.
  20271. //
  20272. // Use "Send" method on the returned Request to send the API call to the service.
  20273. // the "output" return value is not valid until after Send returns without error.
  20274. //
  20275. // See ModifyHosts for more information on using the ModifyHosts
  20276. // API call, and error handling.
  20277. //
  20278. // This method is useful when you want to inject custom logic or configuration
  20279. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20280. //
  20281. //
  20282. // // Example sending a request using the ModifyHostsRequest method.
  20283. // req, resp := client.ModifyHostsRequest(params)
  20284. //
  20285. // err := req.Send()
  20286. // if err == nil { // resp is now filled
  20287. // fmt.Println(resp)
  20288. // }
  20289. //
  20290. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  20291. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  20292. op := &request.Operation{
  20293. Name: opModifyHosts,
  20294. HTTPMethod: "POST",
  20295. HTTPPath: "/",
  20296. }
  20297. if input == nil {
  20298. input = &ModifyHostsInput{}
  20299. }
  20300. output = &ModifyHostsOutput{}
  20301. req = c.newRequest(op, input, output)
  20302. return
  20303. }
  20304. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  20305. //
  20306. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  20307. // is enabled, any instances that you launch with a tenancy of host but without
  20308. // a specific host ID are placed onto any available Dedicated Host in your account
  20309. // that has auto-placement enabled. When auto-placement is disabled, you need
  20310. // to provide a host ID to have the instance launch onto a specific host. If
  20311. // no host ID is provided, the instance is launched onto a suitable host with
  20312. // auto-placement enabled.
  20313. //
  20314. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20315. // with awserr.Error's Code and Message methods to get detailed information about
  20316. // the error.
  20317. //
  20318. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20319. // API operation ModifyHosts for usage and error information.
  20320. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  20321. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  20322. req, out := c.ModifyHostsRequest(input)
  20323. return out, req.Send()
  20324. }
  20325. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  20326. // the ability to pass a context and additional request options.
  20327. //
  20328. // See ModifyHosts for details on how to use this API operation.
  20329. //
  20330. // The context must be non-nil and will be used for request cancellation. If
  20331. // the context is nil a panic will occur. In the future the SDK may create
  20332. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20333. // for more information on using Contexts.
  20334. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  20335. req, out := c.ModifyHostsRequest(input)
  20336. req.SetContext(ctx)
  20337. req.ApplyOptions(opts...)
  20338. return out, req.Send()
  20339. }
  20340. const opModifyIdFormat = "ModifyIdFormat"
  20341. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  20342. // client's request for the ModifyIdFormat operation. The "output" return
  20343. // value will be populated with the request's response once the request completes
  20344. // successfully.
  20345. //
  20346. // Use "Send" method on the returned Request to send the API call to the service.
  20347. // the "output" return value is not valid until after Send returns without error.
  20348. //
  20349. // See ModifyIdFormat for more information on using the ModifyIdFormat
  20350. // API call, and error handling.
  20351. //
  20352. // This method is useful when you want to inject custom logic or configuration
  20353. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20354. //
  20355. //
  20356. // // Example sending a request using the ModifyIdFormatRequest method.
  20357. // req, resp := client.ModifyIdFormatRequest(params)
  20358. //
  20359. // err := req.Send()
  20360. // if err == nil { // resp is now filled
  20361. // fmt.Println(resp)
  20362. // }
  20363. //
  20364. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  20365. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  20366. op := &request.Operation{
  20367. Name: opModifyIdFormat,
  20368. HTTPMethod: "POST",
  20369. HTTPPath: "/",
  20370. }
  20371. if input == nil {
  20372. input = &ModifyIdFormatInput{}
  20373. }
  20374. output = &ModifyIdFormatOutput{}
  20375. req = c.newRequest(op, input, output)
  20376. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  20377. return
  20378. }
  20379. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  20380. //
  20381. // Modifies the ID format for the specified resource on a per-region basis.
  20382. // You can specify that resources should receive longer IDs (17-character IDs)
  20383. // when they are created.
  20384. //
  20385. // This request can only be used to modify longer ID settings for resource types
  20386. // that are within the opt-in period. Resources currently in their opt-in period
  20387. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  20388. // | elastic-ip-association | export-task | flow-log | image | import-task |
  20389. // internet-gateway | network-acl | network-acl-association | network-interface
  20390. // | network-interface-attachment | prefix-list | route-table | route-table-association
  20391. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  20392. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  20393. //
  20394. // This setting applies to the IAM user who makes the request; it does not apply
  20395. // to the entire AWS account. By default, an IAM user defaults to the same settings
  20396. // as the root user. If you're using this action as the root user, then these
  20397. // settings apply to the entire account, unless an IAM user explicitly overrides
  20398. // these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  20399. // in the Amazon Elastic Compute Cloud User Guide.
  20400. //
  20401. // Resources created with longer IDs are visible to all IAM roles and users,
  20402. // regardless of these settings and provided that they have permission to use
  20403. // the relevant Describe command for the resource type.
  20404. //
  20405. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20406. // with awserr.Error's Code and Message methods to get detailed information about
  20407. // the error.
  20408. //
  20409. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20410. // API operation ModifyIdFormat for usage and error information.
  20411. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  20412. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  20413. req, out := c.ModifyIdFormatRequest(input)
  20414. return out, req.Send()
  20415. }
  20416. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  20417. // the ability to pass a context and additional request options.
  20418. //
  20419. // See ModifyIdFormat for details on how to use this API operation.
  20420. //
  20421. // The context must be non-nil and will be used for request cancellation. If
  20422. // the context is nil a panic will occur. In the future the SDK may create
  20423. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20424. // for more information on using Contexts.
  20425. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  20426. req, out := c.ModifyIdFormatRequest(input)
  20427. req.SetContext(ctx)
  20428. req.ApplyOptions(opts...)
  20429. return out, req.Send()
  20430. }
  20431. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  20432. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  20433. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  20434. // value will be populated with the request's response once the request completes
  20435. // successfully.
  20436. //
  20437. // Use "Send" method on the returned Request to send the API call to the service.
  20438. // the "output" return value is not valid until after Send returns without error.
  20439. //
  20440. // See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
  20441. // API call, and error handling.
  20442. //
  20443. // This method is useful when you want to inject custom logic or configuration
  20444. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20445. //
  20446. //
  20447. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  20448. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  20449. //
  20450. // err := req.Send()
  20451. // if err == nil { // resp is now filled
  20452. // fmt.Println(resp)
  20453. // }
  20454. //
  20455. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  20456. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  20457. op := &request.Operation{
  20458. Name: opModifyIdentityIdFormat,
  20459. HTTPMethod: "POST",
  20460. HTTPPath: "/",
  20461. }
  20462. if input == nil {
  20463. input = &ModifyIdentityIdFormatInput{}
  20464. }
  20465. output = &ModifyIdentityIdFormatOutput{}
  20466. req = c.newRequest(op, input, output)
  20467. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  20468. return
  20469. }
  20470. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  20471. //
  20472. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  20473. // or the root user for an account; or all IAM users, IAM roles, and the root
  20474. // user for an account. You can specify that resources should receive longer
  20475. // IDs (17-character IDs) when they are created.
  20476. //
  20477. // This request can only be used to modify longer ID settings for resource types
  20478. // that are within the opt-in period. Resources currently in their opt-in period
  20479. // include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
  20480. // | elastic-ip-association | export-task | flow-log | image | import-task |
  20481. // internet-gateway | network-acl | network-acl-association | network-interface
  20482. // | network-interface-attachment | prefix-list | route-table | route-table-association
  20483. // | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
  20484. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
  20485. //
  20486. // For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  20487. // in the Amazon Elastic Compute Cloud User Guide.
  20488. //
  20489. // This setting applies to the principal specified in the request; it does not
  20490. // apply to the principal that makes the request.
  20491. //
  20492. // Resources created with longer IDs are visible to all IAM roles and users,
  20493. // regardless of these settings and provided that they have permission to use
  20494. // the relevant Describe command for the resource type.
  20495. //
  20496. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20497. // with awserr.Error's Code and Message methods to get detailed information about
  20498. // the error.
  20499. //
  20500. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20501. // API operation ModifyIdentityIdFormat for usage and error information.
  20502. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  20503. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  20504. req, out := c.ModifyIdentityIdFormatRequest(input)
  20505. return out, req.Send()
  20506. }
  20507. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  20508. // the ability to pass a context and additional request options.
  20509. //
  20510. // See ModifyIdentityIdFormat for details on how to use this API operation.
  20511. //
  20512. // The context must be non-nil and will be used for request cancellation. If
  20513. // the context is nil a panic will occur. In the future the SDK may create
  20514. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20515. // for more information on using Contexts.
  20516. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  20517. req, out := c.ModifyIdentityIdFormatRequest(input)
  20518. req.SetContext(ctx)
  20519. req.ApplyOptions(opts...)
  20520. return out, req.Send()
  20521. }
  20522. const opModifyImageAttribute = "ModifyImageAttribute"
  20523. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  20524. // client's request for the ModifyImageAttribute operation. The "output" return
  20525. // value will be populated with the request's response once the request completes
  20526. // successfully.
  20527. //
  20528. // Use "Send" method on the returned Request to send the API call to the service.
  20529. // the "output" return value is not valid until after Send returns without error.
  20530. //
  20531. // See ModifyImageAttribute for more information on using the ModifyImageAttribute
  20532. // API call, and error handling.
  20533. //
  20534. // This method is useful when you want to inject custom logic or configuration
  20535. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20536. //
  20537. //
  20538. // // Example sending a request using the ModifyImageAttributeRequest method.
  20539. // req, resp := client.ModifyImageAttributeRequest(params)
  20540. //
  20541. // err := req.Send()
  20542. // if err == nil { // resp is now filled
  20543. // fmt.Println(resp)
  20544. // }
  20545. //
  20546. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  20547. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  20548. op := &request.Operation{
  20549. Name: opModifyImageAttribute,
  20550. HTTPMethod: "POST",
  20551. HTTPPath: "/",
  20552. }
  20553. if input == nil {
  20554. input = &ModifyImageAttributeInput{}
  20555. }
  20556. output = &ModifyImageAttributeOutput{}
  20557. req = c.newRequest(op, input, output)
  20558. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  20559. return
  20560. }
  20561. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  20562. //
  20563. // Modifies the specified attribute of the specified AMI. You can specify only
  20564. // one attribute at a time. You can use the Attribute parameter to specify the
  20565. // attribute or one of the following parameters: Description, LaunchPermission,
  20566. // or ProductCode.
  20567. //
  20568. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  20569. // product code cannot be made public.
  20570. //
  20571. // To enable the SriovNetSupport enhanced networking attribute of an image,
  20572. // enable SriovNetSupport on an instance and create an AMI from the instance.
  20573. //
  20574. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20575. // with awserr.Error's Code and Message methods to get detailed information about
  20576. // the error.
  20577. //
  20578. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20579. // API operation ModifyImageAttribute for usage and error information.
  20580. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  20581. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  20582. req, out := c.ModifyImageAttributeRequest(input)
  20583. return out, req.Send()
  20584. }
  20585. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  20586. // the ability to pass a context and additional request options.
  20587. //
  20588. // See ModifyImageAttribute for details on how to use this API operation.
  20589. //
  20590. // The context must be non-nil and will be used for request cancellation. If
  20591. // the context is nil a panic will occur. In the future the SDK may create
  20592. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20593. // for more information on using Contexts.
  20594. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  20595. req, out := c.ModifyImageAttributeRequest(input)
  20596. req.SetContext(ctx)
  20597. req.ApplyOptions(opts...)
  20598. return out, req.Send()
  20599. }
  20600. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  20601. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  20602. // client's request for the ModifyInstanceAttribute operation. The "output" return
  20603. // value will be populated with the request's response once the request completes
  20604. // successfully.
  20605. //
  20606. // Use "Send" method on the returned Request to send the API call to the service.
  20607. // the "output" return value is not valid until after Send returns without error.
  20608. //
  20609. // See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
  20610. // API call, and error handling.
  20611. //
  20612. // This method is useful when you want to inject custom logic or configuration
  20613. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20614. //
  20615. //
  20616. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  20617. // req, resp := client.ModifyInstanceAttributeRequest(params)
  20618. //
  20619. // err := req.Send()
  20620. // if err == nil { // resp is now filled
  20621. // fmt.Println(resp)
  20622. // }
  20623. //
  20624. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  20625. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  20626. op := &request.Operation{
  20627. Name: opModifyInstanceAttribute,
  20628. HTTPMethod: "POST",
  20629. HTTPPath: "/",
  20630. }
  20631. if input == nil {
  20632. input = &ModifyInstanceAttributeInput{}
  20633. }
  20634. output = &ModifyInstanceAttributeOutput{}
  20635. req = c.newRequest(op, input, output)
  20636. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  20637. return
  20638. }
  20639. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  20640. //
  20641. // Modifies the specified attribute of the specified instance. You can specify
  20642. // only one attribute at a time.
  20643. //
  20644. // Note: Using this action to change the security groups associated with an
  20645. // elastic network interface (ENI) attached to an instance in a VPC can result
  20646. // in an error if the instance has more than one ENI. To change the security
  20647. // groups associated with an ENI attached to an instance that has multiple ENIs,
  20648. // we recommend that you use the ModifyNetworkInterfaceAttribute action.
  20649. //
  20650. // To modify some attributes, the instance must be stopped. For more information,
  20651. // see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  20652. // in the Amazon Elastic Compute Cloud User Guide.
  20653. //
  20654. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20655. // with awserr.Error's Code and Message methods to get detailed information about
  20656. // the error.
  20657. //
  20658. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20659. // API operation ModifyInstanceAttribute for usage and error information.
  20660. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  20661. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  20662. req, out := c.ModifyInstanceAttributeRequest(input)
  20663. return out, req.Send()
  20664. }
  20665. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  20666. // the ability to pass a context and additional request options.
  20667. //
  20668. // See ModifyInstanceAttribute for details on how to use this API operation.
  20669. //
  20670. // The context must be non-nil and will be used for request cancellation. If
  20671. // the context is nil a panic will occur. In the future the SDK may create
  20672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20673. // for more information on using Contexts.
  20674. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  20675. req, out := c.ModifyInstanceAttributeRequest(input)
  20676. req.SetContext(ctx)
  20677. req.ApplyOptions(opts...)
  20678. return out, req.Send()
  20679. }
  20680. const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
  20681. // ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
  20682. // client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
  20683. // value will be populated with the request's response once the request completes
  20684. // successfully.
  20685. //
  20686. // Use "Send" method on the returned Request to send the API call to the service.
  20687. // the "output" return value is not valid until after Send returns without error.
  20688. //
  20689. // See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
  20690. // API call, and error handling.
  20691. //
  20692. // This method is useful when you want to inject custom logic or configuration
  20693. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20694. //
  20695. //
  20696. // // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
  20697. // req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
  20698. //
  20699. // err := req.Send()
  20700. // if err == nil { // resp is now filled
  20701. // fmt.Println(resp)
  20702. // }
  20703. //
  20704. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
  20705. func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
  20706. op := &request.Operation{
  20707. Name: opModifyInstanceCapacityReservationAttributes,
  20708. HTTPMethod: "POST",
  20709. HTTPPath: "/",
  20710. }
  20711. if input == nil {
  20712. input = &ModifyInstanceCapacityReservationAttributesInput{}
  20713. }
  20714. output = &ModifyInstanceCapacityReservationAttributesOutput{}
  20715. req = c.newRequest(op, input, output)
  20716. return
  20717. }
  20718. // ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
  20719. //
  20720. // Modifies the Capacity Reservation settings for a stopped instance. Use this
  20721. // action to configure an instance to target a specific Capacity Reservation,
  20722. // run in any open Capacity Reservation with matching attributes, or run On-Demand
  20723. // Instance capacity.
  20724. //
  20725. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20726. // with awserr.Error's Code and Message methods to get detailed information about
  20727. // the error.
  20728. //
  20729. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20730. // API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
  20731. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
  20732. func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
  20733. req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
  20734. return out, req.Send()
  20735. }
  20736. // ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
  20737. // the ability to pass a context and additional request options.
  20738. //
  20739. // See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
  20740. //
  20741. // The context must be non-nil and will be used for request cancellation. If
  20742. // the context is nil a panic will occur. In the future the SDK may create
  20743. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20744. // for more information on using Contexts.
  20745. func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
  20746. req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
  20747. req.SetContext(ctx)
  20748. req.ApplyOptions(opts...)
  20749. return out, req.Send()
  20750. }
  20751. const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
  20752. // ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
  20753. // client's request for the ModifyInstanceCreditSpecification operation. The "output" return
  20754. // value will be populated with the request's response once the request completes
  20755. // successfully.
  20756. //
  20757. // Use "Send" method on the returned Request to send the API call to the service.
  20758. // the "output" return value is not valid until after Send returns without error.
  20759. //
  20760. // See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
  20761. // API call, and error handling.
  20762. //
  20763. // This method is useful when you want to inject custom logic or configuration
  20764. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20765. //
  20766. //
  20767. // // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
  20768. // req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
  20769. //
  20770. // err := req.Send()
  20771. // if err == nil { // resp is now filled
  20772. // fmt.Println(resp)
  20773. // }
  20774. //
  20775. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  20776. func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
  20777. op := &request.Operation{
  20778. Name: opModifyInstanceCreditSpecification,
  20779. HTTPMethod: "POST",
  20780. HTTPPath: "/",
  20781. }
  20782. if input == nil {
  20783. input = &ModifyInstanceCreditSpecificationInput{}
  20784. }
  20785. output = &ModifyInstanceCreditSpecificationOutput{}
  20786. req = c.newRequest(op, input, output)
  20787. return
  20788. }
  20789. // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
  20790. //
  20791. // Modifies the credit option for CPU usage on a running or stopped T2 or T3
  20792. // instance. The credit options are standard and unlimited.
  20793. //
  20794. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  20795. // in the Amazon Elastic Compute Cloud User Guide.
  20796. //
  20797. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20798. // with awserr.Error's Code and Message methods to get detailed information about
  20799. // the error.
  20800. //
  20801. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20802. // API operation ModifyInstanceCreditSpecification for usage and error information.
  20803. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
  20804. func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
  20805. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  20806. return out, req.Send()
  20807. }
  20808. // ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
  20809. // the ability to pass a context and additional request options.
  20810. //
  20811. // See ModifyInstanceCreditSpecification for details on how to use this API operation.
  20812. //
  20813. // The context must be non-nil and will be used for request cancellation. If
  20814. // the context is nil a panic will occur. In the future the SDK may create
  20815. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20816. // for more information on using Contexts.
  20817. func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
  20818. req, out := c.ModifyInstanceCreditSpecificationRequest(input)
  20819. req.SetContext(ctx)
  20820. req.ApplyOptions(opts...)
  20821. return out, req.Send()
  20822. }
  20823. const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
  20824. // ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
  20825. // client's request for the ModifyInstanceEventStartTime operation. The "output" return
  20826. // value will be populated with the request's response once the request completes
  20827. // successfully.
  20828. //
  20829. // Use "Send" method on the returned Request to send the API call to the service.
  20830. // the "output" return value is not valid until after Send returns without error.
  20831. //
  20832. // See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
  20833. // API call, and error handling.
  20834. //
  20835. // This method is useful when you want to inject custom logic or configuration
  20836. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20837. //
  20838. //
  20839. // // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
  20840. // req, resp := client.ModifyInstanceEventStartTimeRequest(params)
  20841. //
  20842. // err := req.Send()
  20843. // if err == nil { // resp is now filled
  20844. // fmt.Println(resp)
  20845. // }
  20846. //
  20847. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
  20848. func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
  20849. op := &request.Operation{
  20850. Name: opModifyInstanceEventStartTime,
  20851. HTTPMethod: "POST",
  20852. HTTPPath: "/",
  20853. }
  20854. if input == nil {
  20855. input = &ModifyInstanceEventStartTimeInput{}
  20856. }
  20857. output = &ModifyInstanceEventStartTimeOutput{}
  20858. req = c.newRequest(op, input, output)
  20859. return
  20860. }
  20861. // ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
  20862. //
  20863. // Modifies the start time for a scheduled Amazon EC2 instance event.
  20864. //
  20865. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20866. // with awserr.Error's Code and Message methods to get detailed information about
  20867. // the error.
  20868. //
  20869. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20870. // API operation ModifyInstanceEventStartTime for usage and error information.
  20871. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
  20872. func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
  20873. req, out := c.ModifyInstanceEventStartTimeRequest(input)
  20874. return out, req.Send()
  20875. }
  20876. // ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
  20877. // the ability to pass a context and additional request options.
  20878. //
  20879. // See ModifyInstanceEventStartTime for details on how to use this API operation.
  20880. //
  20881. // The context must be non-nil and will be used for request cancellation. If
  20882. // the context is nil a panic will occur. In the future the SDK may create
  20883. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20884. // for more information on using Contexts.
  20885. func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
  20886. req, out := c.ModifyInstanceEventStartTimeRequest(input)
  20887. req.SetContext(ctx)
  20888. req.ApplyOptions(opts...)
  20889. return out, req.Send()
  20890. }
  20891. const opModifyInstancePlacement = "ModifyInstancePlacement"
  20892. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  20893. // client's request for the ModifyInstancePlacement operation. The "output" return
  20894. // value will be populated with the request's response once the request completes
  20895. // successfully.
  20896. //
  20897. // Use "Send" method on the returned Request to send the API call to the service.
  20898. // the "output" return value is not valid until after Send returns without error.
  20899. //
  20900. // See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
  20901. // API call, and error handling.
  20902. //
  20903. // This method is useful when you want to inject custom logic or configuration
  20904. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20905. //
  20906. //
  20907. // // Example sending a request using the ModifyInstancePlacementRequest method.
  20908. // req, resp := client.ModifyInstancePlacementRequest(params)
  20909. //
  20910. // err := req.Send()
  20911. // if err == nil { // resp is now filled
  20912. // fmt.Println(resp)
  20913. // }
  20914. //
  20915. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  20916. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  20917. op := &request.Operation{
  20918. Name: opModifyInstancePlacement,
  20919. HTTPMethod: "POST",
  20920. HTTPPath: "/",
  20921. }
  20922. if input == nil {
  20923. input = &ModifyInstancePlacementInput{}
  20924. }
  20925. output = &ModifyInstancePlacementOutput{}
  20926. req = c.newRequest(op, input, output)
  20927. return
  20928. }
  20929. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  20930. //
  20931. // Modifies the placement attributes for a specified instance. You can do the
  20932. // following:
  20933. //
  20934. // * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
  20935. // When affinity is set to host and the instance is not associated with a
  20936. // specific Dedicated Host, the next time the instance is launched, it is
  20937. // automatically associated with the host on which it lands. If the instance
  20938. // is restarted or rebooted, this relationship persists.
  20939. //
  20940. // * Change the Dedicated Host with which an instance is associated.
  20941. //
  20942. // * Change the instance tenancy of an instance from host to dedicated, or
  20943. // from dedicated to host.
  20944. //
  20945. // * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
  20946. //
  20947. // At least one attribute for affinity, host ID, tenancy, or placement group
  20948. // name must be specified in the request. Affinity and tenancy can be modified
  20949. // in the same request.
  20950. //
  20951. // To modify the host ID, tenancy, placement group, or partition for an instance,
  20952. // the instance must be in the stopped state.
  20953. //
  20954. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  20955. // with awserr.Error's Code and Message methods to get detailed information about
  20956. // the error.
  20957. //
  20958. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  20959. // API operation ModifyInstancePlacement for usage and error information.
  20960. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  20961. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  20962. req, out := c.ModifyInstancePlacementRequest(input)
  20963. return out, req.Send()
  20964. }
  20965. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  20966. // the ability to pass a context and additional request options.
  20967. //
  20968. // See ModifyInstancePlacement for details on how to use this API operation.
  20969. //
  20970. // The context must be non-nil and will be used for request cancellation. If
  20971. // the context is nil a panic will occur. In the future the SDK may create
  20972. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  20973. // for more information on using Contexts.
  20974. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  20975. req, out := c.ModifyInstancePlacementRequest(input)
  20976. req.SetContext(ctx)
  20977. req.ApplyOptions(opts...)
  20978. return out, req.Send()
  20979. }
  20980. const opModifyLaunchTemplate = "ModifyLaunchTemplate"
  20981. // ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
  20982. // client's request for the ModifyLaunchTemplate operation. The "output" return
  20983. // value will be populated with the request's response once the request completes
  20984. // successfully.
  20985. //
  20986. // Use "Send" method on the returned Request to send the API call to the service.
  20987. // the "output" return value is not valid until after Send returns without error.
  20988. //
  20989. // See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
  20990. // API call, and error handling.
  20991. //
  20992. // This method is useful when you want to inject custom logic or configuration
  20993. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  20994. //
  20995. //
  20996. // // Example sending a request using the ModifyLaunchTemplateRequest method.
  20997. // req, resp := client.ModifyLaunchTemplateRequest(params)
  20998. //
  20999. // err := req.Send()
  21000. // if err == nil { // resp is now filled
  21001. // fmt.Println(resp)
  21002. // }
  21003. //
  21004. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  21005. func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
  21006. op := &request.Operation{
  21007. Name: opModifyLaunchTemplate,
  21008. HTTPMethod: "POST",
  21009. HTTPPath: "/",
  21010. }
  21011. if input == nil {
  21012. input = &ModifyLaunchTemplateInput{}
  21013. }
  21014. output = &ModifyLaunchTemplateOutput{}
  21015. req = c.newRequest(op, input, output)
  21016. return
  21017. }
  21018. // ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
  21019. //
  21020. // Modifies a launch template. You can specify which version of the launch template
  21021. // to set as the default version. When launching an instance, the default version
  21022. // applies when a launch template version is not specified.
  21023. //
  21024. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21025. // with awserr.Error's Code and Message methods to get detailed information about
  21026. // the error.
  21027. //
  21028. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21029. // API operation ModifyLaunchTemplate for usage and error information.
  21030. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
  21031. func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
  21032. req, out := c.ModifyLaunchTemplateRequest(input)
  21033. return out, req.Send()
  21034. }
  21035. // ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
  21036. // the ability to pass a context and additional request options.
  21037. //
  21038. // See ModifyLaunchTemplate for details on how to use this API operation.
  21039. //
  21040. // The context must be non-nil and will be used for request cancellation. If
  21041. // the context is nil a panic will occur. In the future the SDK may create
  21042. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21043. // for more information on using Contexts.
  21044. func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
  21045. req, out := c.ModifyLaunchTemplateRequest(input)
  21046. req.SetContext(ctx)
  21047. req.ApplyOptions(opts...)
  21048. return out, req.Send()
  21049. }
  21050. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  21051. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  21052. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  21053. // value will be populated with the request's response once the request completes
  21054. // successfully.
  21055. //
  21056. // Use "Send" method on the returned Request to send the API call to the service.
  21057. // the "output" return value is not valid until after Send returns without error.
  21058. //
  21059. // See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
  21060. // API call, and error handling.
  21061. //
  21062. // This method is useful when you want to inject custom logic or configuration
  21063. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21064. //
  21065. //
  21066. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  21067. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  21068. //
  21069. // err := req.Send()
  21070. // if err == nil { // resp is now filled
  21071. // fmt.Println(resp)
  21072. // }
  21073. //
  21074. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  21075. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  21076. op := &request.Operation{
  21077. Name: opModifyNetworkInterfaceAttribute,
  21078. HTTPMethod: "POST",
  21079. HTTPPath: "/",
  21080. }
  21081. if input == nil {
  21082. input = &ModifyNetworkInterfaceAttributeInput{}
  21083. }
  21084. output = &ModifyNetworkInterfaceAttributeOutput{}
  21085. req = c.newRequest(op, input, output)
  21086. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  21087. return
  21088. }
  21089. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  21090. //
  21091. // Modifies the specified network interface attribute. You can specify only
  21092. // one attribute at a time. You can use this action to attach and detach security
  21093. // groups from an existing EC2 instance.
  21094. //
  21095. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21096. // with awserr.Error's Code and Message methods to get detailed information about
  21097. // the error.
  21098. //
  21099. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21100. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  21101. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  21102. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  21103. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  21104. return out, req.Send()
  21105. }
  21106. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  21107. // the ability to pass a context and additional request options.
  21108. //
  21109. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  21110. //
  21111. // The context must be non-nil and will be used for request cancellation. If
  21112. // the context is nil a panic will occur. In the future the SDK may create
  21113. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21114. // for more information on using Contexts.
  21115. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  21116. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  21117. req.SetContext(ctx)
  21118. req.ApplyOptions(opts...)
  21119. return out, req.Send()
  21120. }
  21121. const opModifyReservedInstances = "ModifyReservedInstances"
  21122. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  21123. // client's request for the ModifyReservedInstances operation. The "output" return
  21124. // value will be populated with the request's response once the request completes
  21125. // successfully.
  21126. //
  21127. // Use "Send" method on the returned Request to send the API call to the service.
  21128. // the "output" return value is not valid until after Send returns without error.
  21129. //
  21130. // See ModifyReservedInstances for more information on using the ModifyReservedInstances
  21131. // API call, and error handling.
  21132. //
  21133. // This method is useful when you want to inject custom logic or configuration
  21134. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21135. //
  21136. //
  21137. // // Example sending a request using the ModifyReservedInstancesRequest method.
  21138. // req, resp := client.ModifyReservedInstancesRequest(params)
  21139. //
  21140. // err := req.Send()
  21141. // if err == nil { // resp is now filled
  21142. // fmt.Println(resp)
  21143. // }
  21144. //
  21145. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  21146. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  21147. op := &request.Operation{
  21148. Name: opModifyReservedInstances,
  21149. HTTPMethod: "POST",
  21150. HTTPPath: "/",
  21151. }
  21152. if input == nil {
  21153. input = &ModifyReservedInstancesInput{}
  21154. }
  21155. output = &ModifyReservedInstancesOutput{}
  21156. req = c.newRequest(op, input, output)
  21157. return
  21158. }
  21159. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  21160. //
  21161. // Modifies the Availability Zone, instance count, instance type, or network
  21162. // platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
  21163. // Instances to be modified must be identical, except for Availability Zone,
  21164. // network platform, and instance type.
  21165. //
  21166. // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  21167. // in the Amazon Elastic Compute Cloud User Guide.
  21168. //
  21169. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21170. // with awserr.Error's Code and Message methods to get detailed information about
  21171. // the error.
  21172. //
  21173. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21174. // API operation ModifyReservedInstances for usage and error information.
  21175. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  21176. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  21177. req, out := c.ModifyReservedInstancesRequest(input)
  21178. return out, req.Send()
  21179. }
  21180. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  21181. // the ability to pass a context and additional request options.
  21182. //
  21183. // See ModifyReservedInstances for details on how to use this API operation.
  21184. //
  21185. // The context must be non-nil and will be used for request cancellation. If
  21186. // the context is nil a panic will occur. In the future the SDK may create
  21187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21188. // for more information on using Contexts.
  21189. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  21190. req, out := c.ModifyReservedInstancesRequest(input)
  21191. req.SetContext(ctx)
  21192. req.ApplyOptions(opts...)
  21193. return out, req.Send()
  21194. }
  21195. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  21196. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  21197. // client's request for the ModifySnapshotAttribute operation. The "output" return
  21198. // value will be populated with the request's response once the request completes
  21199. // successfully.
  21200. //
  21201. // Use "Send" method on the returned Request to send the API call to the service.
  21202. // the "output" return value is not valid until after Send returns without error.
  21203. //
  21204. // See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
  21205. // API call, and error handling.
  21206. //
  21207. // This method is useful when you want to inject custom logic or configuration
  21208. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21209. //
  21210. //
  21211. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  21212. // req, resp := client.ModifySnapshotAttributeRequest(params)
  21213. //
  21214. // err := req.Send()
  21215. // if err == nil { // resp is now filled
  21216. // fmt.Println(resp)
  21217. // }
  21218. //
  21219. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  21220. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  21221. op := &request.Operation{
  21222. Name: opModifySnapshotAttribute,
  21223. HTTPMethod: "POST",
  21224. HTTPPath: "/",
  21225. }
  21226. if input == nil {
  21227. input = &ModifySnapshotAttributeInput{}
  21228. }
  21229. output = &ModifySnapshotAttributeOutput{}
  21230. req = c.newRequest(op, input, output)
  21231. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  21232. return
  21233. }
  21234. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  21235. //
  21236. // Adds or removes permission settings for the specified snapshot. You may add
  21237. // or remove specified AWS account IDs from a snapshot's list of create volume
  21238. // permissions, but you cannot do both in a single API call. If you need to
  21239. // both add and remove account IDs for a snapshot, you must use multiple API
  21240. // calls.
  21241. //
  21242. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  21243. // be made public. Snapshots encrypted with your default CMK cannot be shared
  21244. // with other accounts.
  21245. //
  21246. // For more information about modifying snapshot permissions, see Sharing Snapshots
  21247. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  21248. // in the Amazon Elastic Compute Cloud User Guide.
  21249. //
  21250. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21251. // with awserr.Error's Code and Message methods to get detailed information about
  21252. // the error.
  21253. //
  21254. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21255. // API operation ModifySnapshotAttribute for usage and error information.
  21256. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  21257. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  21258. req, out := c.ModifySnapshotAttributeRequest(input)
  21259. return out, req.Send()
  21260. }
  21261. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  21262. // the ability to pass a context and additional request options.
  21263. //
  21264. // See ModifySnapshotAttribute for details on how to use this API operation.
  21265. //
  21266. // The context must be non-nil and will be used for request cancellation. If
  21267. // the context is nil a panic will occur. In the future the SDK may create
  21268. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21269. // for more information on using Contexts.
  21270. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  21271. req, out := c.ModifySnapshotAttributeRequest(input)
  21272. req.SetContext(ctx)
  21273. req.ApplyOptions(opts...)
  21274. return out, req.Send()
  21275. }
  21276. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  21277. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  21278. // client's request for the ModifySpotFleetRequest operation. The "output" return
  21279. // value will be populated with the request's response once the request completes
  21280. // successfully.
  21281. //
  21282. // Use "Send" method on the returned Request to send the API call to the service.
  21283. // the "output" return value is not valid until after Send returns without error.
  21284. //
  21285. // See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
  21286. // API call, and error handling.
  21287. //
  21288. // This method is useful when you want to inject custom logic or configuration
  21289. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21290. //
  21291. //
  21292. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  21293. // req, resp := client.ModifySpotFleetRequestRequest(params)
  21294. //
  21295. // err := req.Send()
  21296. // if err == nil { // resp is now filled
  21297. // fmt.Println(resp)
  21298. // }
  21299. //
  21300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  21301. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  21302. op := &request.Operation{
  21303. Name: opModifySpotFleetRequest,
  21304. HTTPMethod: "POST",
  21305. HTTPPath: "/",
  21306. }
  21307. if input == nil {
  21308. input = &ModifySpotFleetRequestInput{}
  21309. }
  21310. output = &ModifySpotFleetRequestOutput{}
  21311. req = c.newRequest(op, input, output)
  21312. return
  21313. }
  21314. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  21315. //
  21316. // Modifies the specified Spot Fleet request.
  21317. //
  21318. // While the Spot Fleet request is being modified, it is in the modifying state.
  21319. //
  21320. // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
  21321. // launches the additional Spot Instances according to the allocation strategy
  21322. // for the Spot Fleet request. If the allocation strategy is lowestPrice, the
  21323. // Spot Fleet launches instances using the Spot pool with the lowest price.
  21324. // If the allocation strategy is diversified, the Spot Fleet distributes the
  21325. // instances across the Spot pools.
  21326. //
  21327. // To scale down your Spot Fleet, decrease its target capacity. First, the Spot
  21328. // Fleet cancels any open requests that exceed the new target capacity. You
  21329. // can request that the Spot Fleet terminate Spot Instances until the size of
  21330. // the fleet no longer exceeds the new target capacity. If the allocation strategy
  21331. // is lowestPrice, the Spot Fleet terminates the instances with the highest
  21332. // price per unit. If the allocation strategy is diversified, the Spot Fleet
  21333. // terminates instances across the Spot pools. Alternatively, you can request
  21334. // that the Spot Fleet keep the fleet at its current size, but not replace any
  21335. // Spot Instances that are interrupted or that you terminate manually.
  21336. //
  21337. // If you are finished with your Spot Fleet for now, but will use it again later,
  21338. // you can set the target capacity to 0.
  21339. //
  21340. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21341. // with awserr.Error's Code and Message methods to get detailed information about
  21342. // the error.
  21343. //
  21344. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21345. // API operation ModifySpotFleetRequest for usage and error information.
  21346. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  21347. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  21348. req, out := c.ModifySpotFleetRequestRequest(input)
  21349. return out, req.Send()
  21350. }
  21351. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  21352. // the ability to pass a context and additional request options.
  21353. //
  21354. // See ModifySpotFleetRequest for details on how to use this API operation.
  21355. //
  21356. // The context must be non-nil and will be used for request cancellation. If
  21357. // the context is nil a panic will occur. In the future the SDK may create
  21358. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21359. // for more information on using Contexts.
  21360. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  21361. req, out := c.ModifySpotFleetRequestRequest(input)
  21362. req.SetContext(ctx)
  21363. req.ApplyOptions(opts...)
  21364. return out, req.Send()
  21365. }
  21366. const opModifySubnetAttribute = "ModifySubnetAttribute"
  21367. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  21368. // client's request for the ModifySubnetAttribute operation. The "output" return
  21369. // value will be populated with the request's response once the request completes
  21370. // successfully.
  21371. //
  21372. // Use "Send" method on the returned Request to send the API call to the service.
  21373. // the "output" return value is not valid until after Send returns without error.
  21374. //
  21375. // See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
  21376. // API call, and error handling.
  21377. //
  21378. // This method is useful when you want to inject custom logic or configuration
  21379. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21380. //
  21381. //
  21382. // // Example sending a request using the ModifySubnetAttributeRequest method.
  21383. // req, resp := client.ModifySubnetAttributeRequest(params)
  21384. //
  21385. // err := req.Send()
  21386. // if err == nil { // resp is now filled
  21387. // fmt.Println(resp)
  21388. // }
  21389. //
  21390. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  21391. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  21392. op := &request.Operation{
  21393. Name: opModifySubnetAttribute,
  21394. HTTPMethod: "POST",
  21395. HTTPPath: "/",
  21396. }
  21397. if input == nil {
  21398. input = &ModifySubnetAttributeInput{}
  21399. }
  21400. output = &ModifySubnetAttributeOutput{}
  21401. req = c.newRequest(op, input, output)
  21402. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  21403. return
  21404. }
  21405. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  21406. //
  21407. // Modifies a subnet attribute. You can only modify one attribute at a time.
  21408. //
  21409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21410. // with awserr.Error's Code and Message methods to get detailed information about
  21411. // the error.
  21412. //
  21413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21414. // API operation ModifySubnetAttribute for usage and error information.
  21415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  21416. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  21417. req, out := c.ModifySubnetAttributeRequest(input)
  21418. return out, req.Send()
  21419. }
  21420. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  21421. // the ability to pass a context and additional request options.
  21422. //
  21423. // See ModifySubnetAttribute for details on how to use this API operation.
  21424. //
  21425. // The context must be non-nil and will be used for request cancellation. If
  21426. // the context is nil a panic will occur. In the future the SDK may create
  21427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21428. // for more information on using Contexts.
  21429. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  21430. req, out := c.ModifySubnetAttributeRequest(input)
  21431. req.SetContext(ctx)
  21432. req.ApplyOptions(opts...)
  21433. return out, req.Send()
  21434. }
  21435. const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
  21436. // ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  21437. // client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
  21438. // value will be populated with the request's response once the request completes
  21439. // successfully.
  21440. //
  21441. // Use "Send" method on the returned Request to send the API call to the service.
  21442. // the "output" return value is not valid until after Send returns without error.
  21443. //
  21444. // See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
  21445. // API call, and error handling.
  21446. //
  21447. // This method is useful when you want to inject custom logic or configuration
  21448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21449. //
  21450. //
  21451. // // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
  21452. // req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
  21453. //
  21454. // err := req.Send()
  21455. // if err == nil { // resp is now filled
  21456. // fmt.Println(resp)
  21457. // }
  21458. //
  21459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
  21460. func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
  21461. op := &request.Operation{
  21462. Name: opModifyTransitGatewayVpcAttachment,
  21463. HTTPMethod: "POST",
  21464. HTTPPath: "/",
  21465. }
  21466. if input == nil {
  21467. input = &ModifyTransitGatewayVpcAttachmentInput{}
  21468. }
  21469. output = &ModifyTransitGatewayVpcAttachmentOutput{}
  21470. req = c.newRequest(op, input, output)
  21471. return
  21472. }
  21473. // ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  21474. //
  21475. // Modifies the specified VPC attachment.
  21476. //
  21477. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21478. // with awserr.Error's Code and Message methods to get detailed information about
  21479. // the error.
  21480. //
  21481. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21482. // API operation ModifyTransitGatewayVpcAttachment for usage and error information.
  21483. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
  21484. func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
  21485. req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
  21486. return out, req.Send()
  21487. }
  21488. // ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
  21489. // the ability to pass a context and additional request options.
  21490. //
  21491. // See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
  21492. //
  21493. // The context must be non-nil and will be used for request cancellation. If
  21494. // the context is nil a panic will occur. In the future the SDK may create
  21495. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21496. // for more information on using Contexts.
  21497. func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
  21498. req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
  21499. req.SetContext(ctx)
  21500. req.ApplyOptions(opts...)
  21501. return out, req.Send()
  21502. }
  21503. const opModifyVolume = "ModifyVolume"
  21504. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  21505. // client's request for the ModifyVolume operation. The "output" return
  21506. // value will be populated with the request's response once the request completes
  21507. // successfully.
  21508. //
  21509. // Use "Send" method on the returned Request to send the API call to the service.
  21510. // the "output" return value is not valid until after Send returns without error.
  21511. //
  21512. // See ModifyVolume for more information on using the ModifyVolume
  21513. // API call, and error handling.
  21514. //
  21515. // This method is useful when you want to inject custom logic or configuration
  21516. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21517. //
  21518. //
  21519. // // Example sending a request using the ModifyVolumeRequest method.
  21520. // req, resp := client.ModifyVolumeRequest(params)
  21521. //
  21522. // err := req.Send()
  21523. // if err == nil { // resp is now filled
  21524. // fmt.Println(resp)
  21525. // }
  21526. //
  21527. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  21528. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  21529. op := &request.Operation{
  21530. Name: opModifyVolume,
  21531. HTTPMethod: "POST",
  21532. HTTPPath: "/",
  21533. }
  21534. if input == nil {
  21535. input = &ModifyVolumeInput{}
  21536. }
  21537. output = &ModifyVolumeOutput{}
  21538. req = c.newRequest(op, input, output)
  21539. return
  21540. }
  21541. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  21542. //
  21543. // You can modify several parameters of an existing EBS volume, including volume
  21544. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  21545. // current-generation EC2 instance type, you may be able to apply these changes
  21546. // without stopping the instance or detaching the volume from it. For more information
  21547. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  21548. // or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  21549. // For more information about modifying an EBS volume running Windows, see Modifying
  21550. // the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  21551. //
  21552. // When you complete a resize operation on your volume, you need to extend the
  21553. // volume's file-system size to take advantage of the new storage capacity.
  21554. // For information about extending a Linux file system, see Extending a Linux
  21555. // File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  21556. // For information about extending a Windows file system, see Extending a Windows
  21557. // File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  21558. //
  21559. // You can use CloudWatch Events to check the status of a modification to an
  21560. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  21561. // Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  21562. // You can also track the status of a modification using the DescribeVolumesModifications
  21563. // API. For information about tracking status changes using either method, see
  21564. // Monitoring Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  21565. //
  21566. // With previous-generation instance types, resizing an EBS volume may require
  21567. // detaching and reattaching the volume or stopping and restarting the instance.
  21568. // For more information, see Modifying the Size, IOPS, or Type of an EBS Volume
  21569. // on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
  21570. // 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).
  21571. //
  21572. // If you reach the maximum volume modification rate per volume limit, you will
  21573. // need to wait at least six hours before applying further modifications to
  21574. // the affected EBS volume.
  21575. //
  21576. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21577. // with awserr.Error's Code and Message methods to get detailed information about
  21578. // the error.
  21579. //
  21580. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21581. // API operation ModifyVolume for usage and error information.
  21582. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  21583. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  21584. req, out := c.ModifyVolumeRequest(input)
  21585. return out, req.Send()
  21586. }
  21587. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  21588. // the ability to pass a context and additional request options.
  21589. //
  21590. // See ModifyVolume for details on how to use this API operation.
  21591. //
  21592. // The context must be non-nil and will be used for request cancellation. If
  21593. // the context is nil a panic will occur. In the future the SDK may create
  21594. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21595. // for more information on using Contexts.
  21596. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  21597. req, out := c.ModifyVolumeRequest(input)
  21598. req.SetContext(ctx)
  21599. req.ApplyOptions(opts...)
  21600. return out, req.Send()
  21601. }
  21602. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  21603. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  21604. // client's request for the ModifyVolumeAttribute operation. The "output" return
  21605. // value will be populated with the request's response once the request completes
  21606. // successfully.
  21607. //
  21608. // Use "Send" method on the returned Request to send the API call to the service.
  21609. // the "output" return value is not valid until after Send returns without error.
  21610. //
  21611. // See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
  21612. // API call, and error handling.
  21613. //
  21614. // This method is useful when you want to inject custom logic or configuration
  21615. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21616. //
  21617. //
  21618. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  21619. // req, resp := client.ModifyVolumeAttributeRequest(params)
  21620. //
  21621. // err := req.Send()
  21622. // if err == nil { // resp is now filled
  21623. // fmt.Println(resp)
  21624. // }
  21625. //
  21626. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  21627. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  21628. op := &request.Operation{
  21629. Name: opModifyVolumeAttribute,
  21630. HTTPMethod: "POST",
  21631. HTTPPath: "/",
  21632. }
  21633. if input == nil {
  21634. input = &ModifyVolumeAttributeInput{}
  21635. }
  21636. output = &ModifyVolumeAttributeOutput{}
  21637. req = c.newRequest(op, input, output)
  21638. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  21639. return
  21640. }
  21641. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  21642. //
  21643. // Modifies a volume attribute.
  21644. //
  21645. // By default, all I/O operations for the volume are suspended when the data
  21646. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  21647. // latent data corruption. The I/O access to the volume can be resumed by first
  21648. // enabling I/O access and then checking the data consistency on your volume.
  21649. //
  21650. // You can change the default behavior to resume I/O operations. We recommend
  21651. // that you change this only for boot volumes or for volumes that are stateless
  21652. // or disposable.
  21653. //
  21654. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21655. // with awserr.Error's Code and Message methods to get detailed information about
  21656. // the error.
  21657. //
  21658. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21659. // API operation ModifyVolumeAttribute for usage and error information.
  21660. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  21661. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  21662. req, out := c.ModifyVolumeAttributeRequest(input)
  21663. return out, req.Send()
  21664. }
  21665. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  21666. // the ability to pass a context and additional request options.
  21667. //
  21668. // See ModifyVolumeAttribute for details on how to use this API operation.
  21669. //
  21670. // The context must be non-nil and will be used for request cancellation. If
  21671. // the context is nil a panic will occur. In the future the SDK may create
  21672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21673. // for more information on using Contexts.
  21674. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  21675. req, out := c.ModifyVolumeAttributeRequest(input)
  21676. req.SetContext(ctx)
  21677. req.ApplyOptions(opts...)
  21678. return out, req.Send()
  21679. }
  21680. const opModifyVpcAttribute = "ModifyVpcAttribute"
  21681. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  21682. // client's request for the ModifyVpcAttribute operation. The "output" return
  21683. // value will be populated with the request's response once the request completes
  21684. // successfully.
  21685. //
  21686. // Use "Send" method on the returned Request to send the API call to the service.
  21687. // the "output" return value is not valid until after Send returns without error.
  21688. //
  21689. // See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
  21690. // API call, and error handling.
  21691. //
  21692. // This method is useful when you want to inject custom logic or configuration
  21693. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21694. //
  21695. //
  21696. // // Example sending a request using the ModifyVpcAttributeRequest method.
  21697. // req, resp := client.ModifyVpcAttributeRequest(params)
  21698. //
  21699. // err := req.Send()
  21700. // if err == nil { // resp is now filled
  21701. // fmt.Println(resp)
  21702. // }
  21703. //
  21704. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  21705. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  21706. op := &request.Operation{
  21707. Name: opModifyVpcAttribute,
  21708. HTTPMethod: "POST",
  21709. HTTPPath: "/",
  21710. }
  21711. if input == nil {
  21712. input = &ModifyVpcAttributeInput{}
  21713. }
  21714. output = &ModifyVpcAttributeOutput{}
  21715. req = c.newRequest(op, input, output)
  21716. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  21717. return
  21718. }
  21719. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  21720. //
  21721. // Modifies the specified attribute of the specified VPC.
  21722. //
  21723. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21724. // with awserr.Error's Code and Message methods to get detailed information about
  21725. // the error.
  21726. //
  21727. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21728. // API operation ModifyVpcAttribute for usage and error information.
  21729. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  21730. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  21731. req, out := c.ModifyVpcAttributeRequest(input)
  21732. return out, req.Send()
  21733. }
  21734. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  21735. // the ability to pass a context and additional request options.
  21736. //
  21737. // See ModifyVpcAttribute for details on how to use this API operation.
  21738. //
  21739. // The context must be non-nil and will be used for request cancellation. If
  21740. // the context is nil a panic will occur. In the future the SDK may create
  21741. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21742. // for more information on using Contexts.
  21743. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  21744. req, out := c.ModifyVpcAttributeRequest(input)
  21745. req.SetContext(ctx)
  21746. req.ApplyOptions(opts...)
  21747. return out, req.Send()
  21748. }
  21749. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  21750. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  21751. // client's request for the ModifyVpcEndpoint operation. The "output" return
  21752. // value will be populated with the request's response once the request completes
  21753. // successfully.
  21754. //
  21755. // Use "Send" method on the returned Request to send the API call to the service.
  21756. // the "output" return value is not valid until after Send returns without error.
  21757. //
  21758. // See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
  21759. // API call, and error handling.
  21760. //
  21761. // This method is useful when you want to inject custom logic or configuration
  21762. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21763. //
  21764. //
  21765. // // Example sending a request using the ModifyVpcEndpointRequest method.
  21766. // req, resp := client.ModifyVpcEndpointRequest(params)
  21767. //
  21768. // err := req.Send()
  21769. // if err == nil { // resp is now filled
  21770. // fmt.Println(resp)
  21771. // }
  21772. //
  21773. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  21774. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  21775. op := &request.Operation{
  21776. Name: opModifyVpcEndpoint,
  21777. HTTPMethod: "POST",
  21778. HTTPPath: "/",
  21779. }
  21780. if input == nil {
  21781. input = &ModifyVpcEndpointInput{}
  21782. }
  21783. output = &ModifyVpcEndpointOutput{}
  21784. req = c.newRequest(op, input, output)
  21785. return
  21786. }
  21787. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  21788. //
  21789. // Modifies attributes of a specified VPC endpoint. The attributes that you
  21790. // can modify depend on the type of VPC endpoint (interface or gateway). For
  21791. // more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
  21792. // in the Amazon Virtual Private Cloud User Guide.
  21793. //
  21794. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21795. // with awserr.Error's Code and Message methods to get detailed information about
  21796. // the error.
  21797. //
  21798. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21799. // API operation ModifyVpcEndpoint for usage and error information.
  21800. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  21801. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  21802. req, out := c.ModifyVpcEndpointRequest(input)
  21803. return out, req.Send()
  21804. }
  21805. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  21806. // the ability to pass a context and additional request options.
  21807. //
  21808. // See ModifyVpcEndpoint for details on how to use this API operation.
  21809. //
  21810. // The context must be non-nil and will be used for request cancellation. If
  21811. // the context is nil a panic will occur. In the future the SDK may create
  21812. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21813. // for more information on using Contexts.
  21814. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  21815. req, out := c.ModifyVpcEndpointRequest(input)
  21816. req.SetContext(ctx)
  21817. req.ApplyOptions(opts...)
  21818. return out, req.Send()
  21819. }
  21820. const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
  21821. // ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
  21822. // client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
  21823. // value will be populated with the request's response once the request completes
  21824. // successfully.
  21825. //
  21826. // Use "Send" method on the returned Request to send the API call to the service.
  21827. // the "output" return value is not valid until after Send returns without error.
  21828. //
  21829. // See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
  21830. // API call, and error handling.
  21831. //
  21832. // This method is useful when you want to inject custom logic or configuration
  21833. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21834. //
  21835. //
  21836. // // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
  21837. // req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
  21838. //
  21839. // err := req.Send()
  21840. // if err == nil { // resp is now filled
  21841. // fmt.Println(resp)
  21842. // }
  21843. //
  21844. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  21845. func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
  21846. op := &request.Operation{
  21847. Name: opModifyVpcEndpointConnectionNotification,
  21848. HTTPMethod: "POST",
  21849. HTTPPath: "/",
  21850. }
  21851. if input == nil {
  21852. input = &ModifyVpcEndpointConnectionNotificationInput{}
  21853. }
  21854. output = &ModifyVpcEndpointConnectionNotificationOutput{}
  21855. req = c.newRequest(op, input, output)
  21856. return
  21857. }
  21858. // ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
  21859. //
  21860. // Modifies a connection notification for VPC endpoint or VPC endpoint service.
  21861. // You can change the SNS topic for the notification, or the events for which
  21862. // to be notified.
  21863. //
  21864. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21865. // with awserr.Error's Code and Message methods to get detailed information about
  21866. // the error.
  21867. //
  21868. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21869. // API operation ModifyVpcEndpointConnectionNotification for usage and error information.
  21870. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
  21871. func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  21872. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  21873. return out, req.Send()
  21874. }
  21875. // ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
  21876. // the ability to pass a context and additional request options.
  21877. //
  21878. // See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
  21879. //
  21880. // The context must be non-nil and will be used for request cancellation. If
  21881. // the context is nil a panic will occur. In the future the SDK may create
  21882. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21883. // for more information on using Contexts.
  21884. func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
  21885. req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
  21886. req.SetContext(ctx)
  21887. req.ApplyOptions(opts...)
  21888. return out, req.Send()
  21889. }
  21890. const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
  21891. // ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
  21892. // client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
  21893. // value will be populated with the request's response once the request completes
  21894. // successfully.
  21895. //
  21896. // Use "Send" method on the returned Request to send the API call to the service.
  21897. // the "output" return value is not valid until after Send returns without error.
  21898. //
  21899. // See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
  21900. // API call, and error handling.
  21901. //
  21902. // This method is useful when you want to inject custom logic or configuration
  21903. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21904. //
  21905. //
  21906. // // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
  21907. // req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
  21908. //
  21909. // err := req.Send()
  21910. // if err == nil { // resp is now filled
  21911. // fmt.Println(resp)
  21912. // }
  21913. //
  21914. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  21915. func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
  21916. op := &request.Operation{
  21917. Name: opModifyVpcEndpointServiceConfiguration,
  21918. HTTPMethod: "POST",
  21919. HTTPPath: "/",
  21920. }
  21921. if input == nil {
  21922. input = &ModifyVpcEndpointServiceConfigurationInput{}
  21923. }
  21924. output = &ModifyVpcEndpointServiceConfigurationOutput{}
  21925. req = c.newRequest(op, input, output)
  21926. return
  21927. }
  21928. // ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
  21929. //
  21930. // Modifies the attributes of your VPC endpoint service configuration. You can
  21931. // change the Network Load Balancers for your service, and you can specify whether
  21932. // acceptance is required for requests to connect to your endpoint service through
  21933. // an interface VPC endpoint.
  21934. //
  21935. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  21936. // with awserr.Error's Code and Message methods to get detailed information about
  21937. // the error.
  21938. //
  21939. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  21940. // API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
  21941. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
  21942. func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  21943. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  21944. return out, req.Send()
  21945. }
  21946. // ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
  21947. // the ability to pass a context and additional request options.
  21948. //
  21949. // See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
  21950. //
  21951. // The context must be non-nil and will be used for request cancellation. If
  21952. // the context is nil a panic will occur. In the future the SDK may create
  21953. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  21954. // for more information on using Contexts.
  21955. func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
  21956. req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
  21957. req.SetContext(ctx)
  21958. req.ApplyOptions(opts...)
  21959. return out, req.Send()
  21960. }
  21961. const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
  21962. // ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
  21963. // client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
  21964. // value will be populated with the request's response once the request completes
  21965. // successfully.
  21966. //
  21967. // Use "Send" method on the returned Request to send the API call to the service.
  21968. // the "output" return value is not valid until after Send returns without error.
  21969. //
  21970. // See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
  21971. // API call, and error handling.
  21972. //
  21973. // This method is useful when you want to inject custom logic or configuration
  21974. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  21975. //
  21976. //
  21977. // // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
  21978. // req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
  21979. //
  21980. // err := req.Send()
  21981. // if err == nil { // resp is now filled
  21982. // fmt.Println(resp)
  21983. // }
  21984. //
  21985. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  21986. func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
  21987. op := &request.Operation{
  21988. Name: opModifyVpcEndpointServicePermissions,
  21989. HTTPMethod: "POST",
  21990. HTTPPath: "/",
  21991. }
  21992. if input == nil {
  21993. input = &ModifyVpcEndpointServicePermissionsInput{}
  21994. }
  21995. output = &ModifyVpcEndpointServicePermissionsOutput{}
  21996. req = c.newRequest(op, input, output)
  21997. return
  21998. }
  21999. // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
  22000. //
  22001. // Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html).
  22002. // You can add or remove permissions for service consumers (IAM users, IAM roles,
  22003. // and AWS accounts) to connect to your endpoint service.
  22004. //
  22005. // If you grant permissions to all principals, the service is public. Any users
  22006. // who know the name of a public service can send a request to attach an endpoint.
  22007. // If the service does not require manual approval, attachments are automatically
  22008. // approved.
  22009. //
  22010. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22011. // with awserr.Error's Code and Message methods to get detailed information about
  22012. // the error.
  22013. //
  22014. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22015. // API operation ModifyVpcEndpointServicePermissions for usage and error information.
  22016. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
  22017. func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  22018. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  22019. return out, req.Send()
  22020. }
  22021. // ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
  22022. // the ability to pass a context and additional request options.
  22023. //
  22024. // See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
  22025. //
  22026. // The context must be non-nil and will be used for request cancellation. If
  22027. // the context is nil a panic will occur. In the future the SDK may create
  22028. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22029. // for more information on using Contexts.
  22030. func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
  22031. req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
  22032. req.SetContext(ctx)
  22033. req.ApplyOptions(opts...)
  22034. return out, req.Send()
  22035. }
  22036. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  22037. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  22038. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  22039. // value will be populated with the request's response once the request completes
  22040. // successfully.
  22041. //
  22042. // Use "Send" method on the returned Request to send the API call to the service.
  22043. // the "output" return value is not valid until after Send returns without error.
  22044. //
  22045. // See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
  22046. // API call, and error handling.
  22047. //
  22048. // This method is useful when you want to inject custom logic or configuration
  22049. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22050. //
  22051. //
  22052. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  22053. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  22054. //
  22055. // err := req.Send()
  22056. // if err == nil { // resp is now filled
  22057. // fmt.Println(resp)
  22058. // }
  22059. //
  22060. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  22061. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  22062. op := &request.Operation{
  22063. Name: opModifyVpcPeeringConnectionOptions,
  22064. HTTPMethod: "POST",
  22065. HTTPPath: "/",
  22066. }
  22067. if input == nil {
  22068. input = &ModifyVpcPeeringConnectionOptionsInput{}
  22069. }
  22070. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  22071. req = c.newRequest(op, input, output)
  22072. return
  22073. }
  22074. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  22075. //
  22076. // Modifies the VPC peering connection options on one side of a VPC peering
  22077. // connection. You can do the following:
  22078. //
  22079. // * Enable/disable communication over the peering connection between an
  22080. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  22081. // instances in the peer VPC.
  22082. //
  22083. // * Enable/disable communication over the peering connection between instances
  22084. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  22085. //
  22086. // * Enable/disable the ability to resolve public DNS hostnames to private
  22087. // IP addresses when queried from instances in the peer VPC.
  22088. //
  22089. // If the peered VPCs are in the same AWS account, you can enable DNS resolution
  22090. // for queries from the local VPC. This ensures that queries from the local
  22091. // VPC resolve to private IP addresses in the peer VPC. This option is not available
  22092. // if the peered VPCs are in different AWS accounts or different regions. For
  22093. // peered VPCs in different AWS accounts, each AWS account owner must initiate
  22094. // a separate request to modify the peering connection options. For inter-region
  22095. // peering connections, you must use the region for the requester VPC to modify
  22096. // the requester VPC peering options and the region for the accepter VPC to
  22097. // modify the accepter VPC peering options. To verify which VPCs are the accepter
  22098. // and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  22099. // command.
  22100. //
  22101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22102. // with awserr.Error's Code and Message methods to get detailed information about
  22103. // the error.
  22104. //
  22105. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22106. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  22107. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  22108. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  22109. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  22110. return out, req.Send()
  22111. }
  22112. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  22113. // the ability to pass a context and additional request options.
  22114. //
  22115. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  22116. //
  22117. // The context must be non-nil and will be used for request cancellation. If
  22118. // the context is nil a panic will occur. In the future the SDK may create
  22119. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22120. // for more information on using Contexts.
  22121. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  22122. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  22123. req.SetContext(ctx)
  22124. req.ApplyOptions(opts...)
  22125. return out, req.Send()
  22126. }
  22127. const opModifyVpcTenancy = "ModifyVpcTenancy"
  22128. // ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
  22129. // client's request for the ModifyVpcTenancy operation. The "output" return
  22130. // value will be populated with the request's response once the request completes
  22131. // successfully.
  22132. //
  22133. // Use "Send" method on the returned Request to send the API call to the service.
  22134. // the "output" return value is not valid until after Send returns without error.
  22135. //
  22136. // See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
  22137. // API call, and error handling.
  22138. //
  22139. // This method is useful when you want to inject custom logic or configuration
  22140. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22141. //
  22142. //
  22143. // // Example sending a request using the ModifyVpcTenancyRequest method.
  22144. // req, resp := client.ModifyVpcTenancyRequest(params)
  22145. //
  22146. // err := req.Send()
  22147. // if err == nil { // resp is now filled
  22148. // fmt.Println(resp)
  22149. // }
  22150. //
  22151. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  22152. func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
  22153. op := &request.Operation{
  22154. Name: opModifyVpcTenancy,
  22155. HTTPMethod: "POST",
  22156. HTTPPath: "/",
  22157. }
  22158. if input == nil {
  22159. input = &ModifyVpcTenancyInput{}
  22160. }
  22161. output = &ModifyVpcTenancyOutput{}
  22162. req = c.newRequest(op, input, output)
  22163. return
  22164. }
  22165. // ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
  22166. //
  22167. // Modifies the instance tenancy attribute of the specified VPC. You can change
  22168. // the instance tenancy attribute of a VPC to default only. You cannot change
  22169. // the instance tenancy attribute to dedicated.
  22170. //
  22171. // After you modify the tenancy of the VPC, any new instances that you launch
  22172. // into the VPC have a tenancy of default, unless you specify otherwise during
  22173. // launch. The tenancy of any existing instances in the VPC is not affected.
  22174. //
  22175. // For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  22176. // in the Amazon Elastic Compute Cloud User Guide.
  22177. //
  22178. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22179. // with awserr.Error's Code and Message methods to get detailed information about
  22180. // the error.
  22181. //
  22182. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22183. // API operation ModifyVpcTenancy for usage and error information.
  22184. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
  22185. func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
  22186. req, out := c.ModifyVpcTenancyRequest(input)
  22187. return out, req.Send()
  22188. }
  22189. // ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
  22190. // the ability to pass a context and additional request options.
  22191. //
  22192. // See ModifyVpcTenancy for details on how to use this API operation.
  22193. //
  22194. // The context must be non-nil and will be used for request cancellation. If
  22195. // the context is nil a panic will occur. In the future the SDK may create
  22196. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22197. // for more information on using Contexts.
  22198. func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
  22199. req, out := c.ModifyVpcTenancyRequest(input)
  22200. req.SetContext(ctx)
  22201. req.ApplyOptions(opts...)
  22202. return out, req.Send()
  22203. }
  22204. const opMonitorInstances = "MonitorInstances"
  22205. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  22206. // client's request for the MonitorInstances operation. The "output" return
  22207. // value will be populated with the request's response once the request completes
  22208. // successfully.
  22209. //
  22210. // Use "Send" method on the returned Request to send the API call to the service.
  22211. // the "output" return value is not valid until after Send returns without error.
  22212. //
  22213. // See MonitorInstances for more information on using the MonitorInstances
  22214. // API call, and error handling.
  22215. //
  22216. // This method is useful when you want to inject custom logic or configuration
  22217. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22218. //
  22219. //
  22220. // // Example sending a request using the MonitorInstancesRequest method.
  22221. // req, resp := client.MonitorInstancesRequest(params)
  22222. //
  22223. // err := req.Send()
  22224. // if err == nil { // resp is now filled
  22225. // fmt.Println(resp)
  22226. // }
  22227. //
  22228. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  22229. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  22230. op := &request.Operation{
  22231. Name: opMonitorInstances,
  22232. HTTPMethod: "POST",
  22233. HTTPPath: "/",
  22234. }
  22235. if input == nil {
  22236. input = &MonitorInstancesInput{}
  22237. }
  22238. output = &MonitorInstancesOutput{}
  22239. req = c.newRequest(op, input, output)
  22240. return
  22241. }
  22242. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  22243. //
  22244. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  22245. // is enabled. For more information, see Monitoring Your Instances and Volumes
  22246. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  22247. // in the Amazon Elastic Compute Cloud User Guide.
  22248. //
  22249. // To disable detailed monitoring, see .
  22250. //
  22251. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22252. // with awserr.Error's Code and Message methods to get detailed information about
  22253. // the error.
  22254. //
  22255. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22256. // API operation MonitorInstances for usage and error information.
  22257. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  22258. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  22259. req, out := c.MonitorInstancesRequest(input)
  22260. return out, req.Send()
  22261. }
  22262. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  22263. // the ability to pass a context and additional request options.
  22264. //
  22265. // See MonitorInstances for details on how to use this API operation.
  22266. //
  22267. // The context must be non-nil and will be used for request cancellation. If
  22268. // the context is nil a panic will occur. In the future the SDK may create
  22269. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22270. // for more information on using Contexts.
  22271. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  22272. req, out := c.MonitorInstancesRequest(input)
  22273. req.SetContext(ctx)
  22274. req.ApplyOptions(opts...)
  22275. return out, req.Send()
  22276. }
  22277. const opMoveAddressToVpc = "MoveAddressToVpc"
  22278. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  22279. // client's request for the MoveAddressToVpc operation. The "output" return
  22280. // value will be populated with the request's response once the request completes
  22281. // successfully.
  22282. //
  22283. // Use "Send" method on the returned Request to send the API call to the service.
  22284. // the "output" return value is not valid until after Send returns without error.
  22285. //
  22286. // See MoveAddressToVpc for more information on using the MoveAddressToVpc
  22287. // API call, and error handling.
  22288. //
  22289. // This method is useful when you want to inject custom logic or configuration
  22290. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22291. //
  22292. //
  22293. // // Example sending a request using the MoveAddressToVpcRequest method.
  22294. // req, resp := client.MoveAddressToVpcRequest(params)
  22295. //
  22296. // err := req.Send()
  22297. // if err == nil { // resp is now filled
  22298. // fmt.Println(resp)
  22299. // }
  22300. //
  22301. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  22302. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  22303. op := &request.Operation{
  22304. Name: opMoveAddressToVpc,
  22305. HTTPMethod: "POST",
  22306. HTTPPath: "/",
  22307. }
  22308. if input == nil {
  22309. input = &MoveAddressToVpcInput{}
  22310. }
  22311. output = &MoveAddressToVpcOutput{}
  22312. req = c.newRequest(op, input, output)
  22313. return
  22314. }
  22315. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  22316. //
  22317. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  22318. // platform. The Elastic IP address must be allocated to your account for more
  22319. // than 24 hours, and it must not be associated with an instance. After the
  22320. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  22321. // platform, unless you move it back using the RestoreAddressToClassic request.
  22322. // You cannot move an Elastic IP address that was originally allocated for use
  22323. // in the EC2-VPC platform to the EC2-Classic platform.
  22324. //
  22325. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22326. // with awserr.Error's Code and Message methods to get detailed information about
  22327. // the error.
  22328. //
  22329. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22330. // API operation MoveAddressToVpc for usage and error information.
  22331. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  22332. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  22333. req, out := c.MoveAddressToVpcRequest(input)
  22334. return out, req.Send()
  22335. }
  22336. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  22337. // the ability to pass a context and additional request options.
  22338. //
  22339. // See MoveAddressToVpc for details on how to use this API operation.
  22340. //
  22341. // The context must be non-nil and will be used for request cancellation. If
  22342. // the context is nil a panic will occur. In the future the SDK may create
  22343. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22344. // for more information on using Contexts.
  22345. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  22346. req, out := c.MoveAddressToVpcRequest(input)
  22347. req.SetContext(ctx)
  22348. req.ApplyOptions(opts...)
  22349. return out, req.Send()
  22350. }
  22351. const opProvisionByoipCidr = "ProvisionByoipCidr"
  22352. // ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
  22353. // client's request for the ProvisionByoipCidr operation. The "output" return
  22354. // value will be populated with the request's response once the request completes
  22355. // successfully.
  22356. //
  22357. // Use "Send" method on the returned Request to send the API call to the service.
  22358. // the "output" return value is not valid until after Send returns without error.
  22359. //
  22360. // See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
  22361. // API call, and error handling.
  22362. //
  22363. // This method is useful when you want to inject custom logic or configuration
  22364. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22365. //
  22366. //
  22367. // // Example sending a request using the ProvisionByoipCidrRequest method.
  22368. // req, resp := client.ProvisionByoipCidrRequest(params)
  22369. //
  22370. // err := req.Send()
  22371. // if err == nil { // resp is now filled
  22372. // fmt.Println(resp)
  22373. // }
  22374. //
  22375. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
  22376. func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
  22377. op := &request.Operation{
  22378. Name: opProvisionByoipCidr,
  22379. HTTPMethod: "POST",
  22380. HTTPPath: "/",
  22381. }
  22382. if input == nil {
  22383. input = &ProvisionByoipCidrInput{}
  22384. }
  22385. output = &ProvisionByoipCidrOutput{}
  22386. req = c.newRequest(op, input, output)
  22387. return
  22388. }
  22389. // ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
  22390. //
  22391. // Provisions an address range for use with your AWS resources through bring
  22392. // your own IP addresses (BYOIP) and creates a corresponding address pool. After
  22393. // the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.
  22394. //
  22395. // AWS verifies that you own the address range and are authorized to advertise
  22396. // it. You must ensure that the address range is registered to you and that
  22397. // you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
  22398. // the address range. For more information, see Bring Your Own IP Addresses
  22399. // (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
  22400. // in the Amazon Elastic Compute Cloud User Guide.
  22401. //
  22402. // Provisioning an address range is an asynchronous operation, so the call returns
  22403. // immediately, but the address range is not ready to use until its status changes
  22404. // from pending-provision to provisioned. To monitor the status of an address
  22405. // range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
  22406. // address pool, use AllocateAddress with either the specific address from the
  22407. // address pool or the ID of the address pool.
  22408. //
  22409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22410. // with awserr.Error's Code and Message methods to get detailed information about
  22411. // the error.
  22412. //
  22413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22414. // API operation ProvisionByoipCidr for usage and error information.
  22415. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
  22416. func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
  22417. req, out := c.ProvisionByoipCidrRequest(input)
  22418. return out, req.Send()
  22419. }
  22420. // ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
  22421. // the ability to pass a context and additional request options.
  22422. //
  22423. // See ProvisionByoipCidr for details on how to use this API operation.
  22424. //
  22425. // The context must be non-nil and will be used for request cancellation. If
  22426. // the context is nil a panic will occur. In the future the SDK may create
  22427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22428. // for more information on using Contexts.
  22429. func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
  22430. req, out := c.ProvisionByoipCidrRequest(input)
  22431. req.SetContext(ctx)
  22432. req.ApplyOptions(opts...)
  22433. return out, req.Send()
  22434. }
  22435. const opPurchaseHostReservation = "PurchaseHostReservation"
  22436. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  22437. // client's request for the PurchaseHostReservation operation. The "output" return
  22438. // value will be populated with the request's response once the request completes
  22439. // successfully.
  22440. //
  22441. // Use "Send" method on the returned Request to send the API call to the service.
  22442. // the "output" return value is not valid until after Send returns without error.
  22443. //
  22444. // See PurchaseHostReservation for more information on using the PurchaseHostReservation
  22445. // API call, and error handling.
  22446. //
  22447. // This method is useful when you want to inject custom logic or configuration
  22448. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22449. //
  22450. //
  22451. // // Example sending a request using the PurchaseHostReservationRequest method.
  22452. // req, resp := client.PurchaseHostReservationRequest(params)
  22453. //
  22454. // err := req.Send()
  22455. // if err == nil { // resp is now filled
  22456. // fmt.Println(resp)
  22457. // }
  22458. //
  22459. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  22460. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  22461. op := &request.Operation{
  22462. Name: opPurchaseHostReservation,
  22463. HTTPMethod: "POST",
  22464. HTTPPath: "/",
  22465. }
  22466. if input == nil {
  22467. input = &PurchaseHostReservationInput{}
  22468. }
  22469. output = &PurchaseHostReservationOutput{}
  22470. req = c.newRequest(op, input, output)
  22471. return
  22472. }
  22473. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  22474. //
  22475. // Purchase a reservation with configurations that match those of your Dedicated
  22476. // Host. You must have active Dedicated Hosts in your account before you purchase
  22477. // a reservation. This action results in the specified reservation being purchased
  22478. // and charged to your account.
  22479. //
  22480. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22481. // with awserr.Error's Code and Message methods to get detailed information about
  22482. // the error.
  22483. //
  22484. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22485. // API operation PurchaseHostReservation for usage and error information.
  22486. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  22487. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  22488. req, out := c.PurchaseHostReservationRequest(input)
  22489. return out, req.Send()
  22490. }
  22491. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  22492. // the ability to pass a context and additional request options.
  22493. //
  22494. // See PurchaseHostReservation for details on how to use this API operation.
  22495. //
  22496. // The context must be non-nil and will be used for request cancellation. If
  22497. // the context is nil a panic will occur. In the future the SDK may create
  22498. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22499. // for more information on using Contexts.
  22500. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  22501. req, out := c.PurchaseHostReservationRequest(input)
  22502. req.SetContext(ctx)
  22503. req.ApplyOptions(opts...)
  22504. return out, req.Send()
  22505. }
  22506. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  22507. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  22508. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  22509. // value will be populated with the request's response once the request completes
  22510. // successfully.
  22511. //
  22512. // Use "Send" method on the returned Request to send the API call to the service.
  22513. // the "output" return value is not valid until after Send returns without error.
  22514. //
  22515. // See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
  22516. // API call, and error handling.
  22517. //
  22518. // This method is useful when you want to inject custom logic or configuration
  22519. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22520. //
  22521. //
  22522. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  22523. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  22524. //
  22525. // err := req.Send()
  22526. // if err == nil { // resp is now filled
  22527. // fmt.Println(resp)
  22528. // }
  22529. //
  22530. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  22531. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  22532. op := &request.Operation{
  22533. Name: opPurchaseReservedInstancesOffering,
  22534. HTTPMethod: "POST",
  22535. HTTPPath: "/",
  22536. }
  22537. if input == nil {
  22538. input = &PurchaseReservedInstancesOfferingInput{}
  22539. }
  22540. output = &PurchaseReservedInstancesOfferingOutput{}
  22541. req = c.newRequest(op, input, output)
  22542. return
  22543. }
  22544. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  22545. //
  22546. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  22547. // you pay a lower hourly rate compared to On-Demand instance pricing.
  22548. //
  22549. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  22550. // offerings that match your specifications. After you've purchased a Reserved
  22551. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  22552. //
  22553. // For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  22554. // and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  22555. // in the Amazon Elastic Compute Cloud User Guide.
  22556. //
  22557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22558. // with awserr.Error's Code and Message methods to get detailed information about
  22559. // the error.
  22560. //
  22561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22562. // API operation PurchaseReservedInstancesOffering for usage and error information.
  22563. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  22564. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  22565. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  22566. return out, req.Send()
  22567. }
  22568. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  22569. // the ability to pass a context and additional request options.
  22570. //
  22571. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  22572. //
  22573. // The context must be non-nil and will be used for request cancellation. If
  22574. // the context is nil a panic will occur. In the future the SDK may create
  22575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22576. // for more information on using Contexts.
  22577. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  22578. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  22579. req.SetContext(ctx)
  22580. req.ApplyOptions(opts...)
  22581. return out, req.Send()
  22582. }
  22583. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  22584. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  22585. // client's request for the PurchaseScheduledInstances operation. The "output" return
  22586. // value will be populated with the request's response once the request completes
  22587. // successfully.
  22588. //
  22589. // Use "Send" method on the returned Request to send the API call to the service.
  22590. // the "output" return value is not valid until after Send returns without error.
  22591. //
  22592. // See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
  22593. // API call, and error handling.
  22594. //
  22595. // This method is useful when you want to inject custom logic or configuration
  22596. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22597. //
  22598. //
  22599. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  22600. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  22601. //
  22602. // err := req.Send()
  22603. // if err == nil { // resp is now filled
  22604. // fmt.Println(resp)
  22605. // }
  22606. //
  22607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  22608. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  22609. op := &request.Operation{
  22610. Name: opPurchaseScheduledInstances,
  22611. HTTPMethod: "POST",
  22612. HTTPPath: "/",
  22613. }
  22614. if input == nil {
  22615. input = &PurchaseScheduledInstancesInput{}
  22616. }
  22617. output = &PurchaseScheduledInstancesOutput{}
  22618. req = c.newRequest(op, input, output)
  22619. return
  22620. }
  22621. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  22622. //
  22623. // Purchases one or more Scheduled Instances with the specified schedule.
  22624. //
  22625. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  22626. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  22627. // you must call DescribeScheduledInstanceAvailability to check for available
  22628. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  22629. // you must call RunScheduledInstances during each scheduled time period.
  22630. //
  22631. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  22632. // your purchase.
  22633. //
  22634. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22635. // with awserr.Error's Code and Message methods to get detailed information about
  22636. // the error.
  22637. //
  22638. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22639. // API operation PurchaseScheduledInstances for usage and error information.
  22640. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  22641. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  22642. req, out := c.PurchaseScheduledInstancesRequest(input)
  22643. return out, req.Send()
  22644. }
  22645. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  22646. // the ability to pass a context and additional request options.
  22647. //
  22648. // See PurchaseScheduledInstances for details on how to use this API operation.
  22649. //
  22650. // The context must be non-nil and will be used for request cancellation. If
  22651. // the context is nil a panic will occur. In the future the SDK may create
  22652. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22653. // for more information on using Contexts.
  22654. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  22655. req, out := c.PurchaseScheduledInstancesRequest(input)
  22656. req.SetContext(ctx)
  22657. req.ApplyOptions(opts...)
  22658. return out, req.Send()
  22659. }
  22660. const opRebootInstances = "RebootInstances"
  22661. // RebootInstancesRequest generates a "aws/request.Request" representing the
  22662. // client's request for the RebootInstances operation. The "output" return
  22663. // value will be populated with the request's response once the request completes
  22664. // successfully.
  22665. //
  22666. // Use "Send" method on the returned Request to send the API call to the service.
  22667. // the "output" return value is not valid until after Send returns without error.
  22668. //
  22669. // See RebootInstances for more information on using the RebootInstances
  22670. // API call, and error handling.
  22671. //
  22672. // This method is useful when you want to inject custom logic or configuration
  22673. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22674. //
  22675. //
  22676. // // Example sending a request using the RebootInstancesRequest method.
  22677. // req, resp := client.RebootInstancesRequest(params)
  22678. //
  22679. // err := req.Send()
  22680. // if err == nil { // resp is now filled
  22681. // fmt.Println(resp)
  22682. // }
  22683. //
  22684. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  22685. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  22686. op := &request.Operation{
  22687. Name: opRebootInstances,
  22688. HTTPMethod: "POST",
  22689. HTTPPath: "/",
  22690. }
  22691. if input == nil {
  22692. input = &RebootInstancesInput{}
  22693. }
  22694. output = &RebootInstancesOutput{}
  22695. req = c.newRequest(op, input, output)
  22696. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  22697. return
  22698. }
  22699. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  22700. //
  22701. // Requests a reboot of one or more instances. This operation is asynchronous;
  22702. // it only queues a request to reboot the specified instances. The operation
  22703. // succeeds if the instances are valid and belong to you. Requests to reboot
  22704. // terminated instances are ignored.
  22705. //
  22706. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  22707. // performs a hard reboot.
  22708. //
  22709. // For more information about troubleshooting, see Getting Console Output and
  22710. // Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  22711. // in the Amazon Elastic Compute Cloud User Guide.
  22712. //
  22713. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22714. // with awserr.Error's Code and Message methods to get detailed information about
  22715. // the error.
  22716. //
  22717. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22718. // API operation RebootInstances for usage and error information.
  22719. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  22720. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  22721. req, out := c.RebootInstancesRequest(input)
  22722. return out, req.Send()
  22723. }
  22724. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  22725. // the ability to pass a context and additional request options.
  22726. //
  22727. // See RebootInstances for details on how to use this API operation.
  22728. //
  22729. // The context must be non-nil and will be used for request cancellation. If
  22730. // the context is nil a panic will occur. In the future the SDK may create
  22731. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22732. // for more information on using Contexts.
  22733. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  22734. req, out := c.RebootInstancesRequest(input)
  22735. req.SetContext(ctx)
  22736. req.ApplyOptions(opts...)
  22737. return out, req.Send()
  22738. }
  22739. const opRegisterImage = "RegisterImage"
  22740. // RegisterImageRequest generates a "aws/request.Request" representing the
  22741. // client's request for the RegisterImage operation. The "output" return
  22742. // value will be populated with the request's response once the request completes
  22743. // successfully.
  22744. //
  22745. // Use "Send" method on the returned Request to send the API call to the service.
  22746. // the "output" return value is not valid until after Send returns without error.
  22747. //
  22748. // See RegisterImage for more information on using the RegisterImage
  22749. // API call, and error handling.
  22750. //
  22751. // This method is useful when you want to inject custom logic or configuration
  22752. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22753. //
  22754. //
  22755. // // Example sending a request using the RegisterImageRequest method.
  22756. // req, resp := client.RegisterImageRequest(params)
  22757. //
  22758. // err := req.Send()
  22759. // if err == nil { // resp is now filled
  22760. // fmt.Println(resp)
  22761. // }
  22762. //
  22763. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  22764. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  22765. op := &request.Operation{
  22766. Name: opRegisterImage,
  22767. HTTPMethod: "POST",
  22768. HTTPPath: "/",
  22769. }
  22770. if input == nil {
  22771. input = &RegisterImageInput{}
  22772. }
  22773. output = &RegisterImageOutput{}
  22774. req = c.newRequest(op, input, output)
  22775. return
  22776. }
  22777. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  22778. //
  22779. // Registers an AMI. When you're creating an AMI, this is the final step you
  22780. // must complete before you can launch an instance from the AMI. For more information
  22781. // about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  22782. // in the Amazon Elastic Compute Cloud User Guide.
  22783. //
  22784. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  22785. // in a single request, so you don't have to register the AMI yourself.
  22786. //
  22787. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  22788. // a snapshot of a root device volume. You specify the snapshot using the block
  22789. // device mapping. For more information, see Launching a Linux Instance from
  22790. // a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  22791. // in the Amazon Elastic Compute Cloud User Guide.
  22792. //
  22793. // You can't register an image where a secondary (non-root) snapshot has AWS
  22794. // Marketplace product codes.
  22795. //
  22796. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  22797. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  22798. // with an AMI to verify the subscription status for package updates. Creating
  22799. // an AMI from an EBS snapshot does not maintain this billing code, and instances
  22800. // launched from such an AMI are not able to connect to package update infrastructure.
  22801. // If you purchase a Reserved Instance offering for one of these Linux distributions
  22802. // and launch instances using an AMI that does not contain the required billing
  22803. // code, your Reserved Instance is not applied to these instances.
  22804. //
  22805. // To create an AMI for operating systems that require a billing code, see CreateImage.
  22806. //
  22807. // If needed, you can deregister an AMI at any time. Any modifications you make
  22808. // to an AMI backed by an instance store volume invalidates its registration.
  22809. // If you make changes to an image, deregister the previous image and register
  22810. // the new image.
  22811. //
  22812. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22813. // with awserr.Error's Code and Message methods to get detailed information about
  22814. // the error.
  22815. //
  22816. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22817. // API operation RegisterImage for usage and error information.
  22818. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  22819. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  22820. req, out := c.RegisterImageRequest(input)
  22821. return out, req.Send()
  22822. }
  22823. // RegisterImageWithContext is the same as RegisterImage with the addition of
  22824. // the ability to pass a context and additional request options.
  22825. //
  22826. // See RegisterImage for details on how to use this API operation.
  22827. //
  22828. // The context must be non-nil and will be used for request cancellation. If
  22829. // the context is nil a panic will occur. In the future the SDK may create
  22830. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22831. // for more information on using Contexts.
  22832. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  22833. req, out := c.RegisterImageRequest(input)
  22834. req.SetContext(ctx)
  22835. req.ApplyOptions(opts...)
  22836. return out, req.Send()
  22837. }
  22838. const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
  22839. // RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
  22840. // client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
  22841. // value will be populated with the request's response once the request completes
  22842. // successfully.
  22843. //
  22844. // Use "Send" method on the returned Request to send the API call to the service.
  22845. // the "output" return value is not valid until after Send returns without error.
  22846. //
  22847. // See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
  22848. // API call, and error handling.
  22849. //
  22850. // This method is useful when you want to inject custom logic or configuration
  22851. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22852. //
  22853. //
  22854. // // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
  22855. // req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
  22856. //
  22857. // err := req.Send()
  22858. // if err == nil { // resp is now filled
  22859. // fmt.Println(resp)
  22860. // }
  22861. //
  22862. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
  22863. func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
  22864. op := &request.Operation{
  22865. Name: opRejectTransitGatewayVpcAttachment,
  22866. HTTPMethod: "POST",
  22867. HTTPPath: "/",
  22868. }
  22869. if input == nil {
  22870. input = &RejectTransitGatewayVpcAttachmentInput{}
  22871. }
  22872. output = &RejectTransitGatewayVpcAttachmentOutput{}
  22873. req = c.newRequest(op, input, output)
  22874. return
  22875. }
  22876. // RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
  22877. //
  22878. // Rejects a request to attach a VPC to a transit gateway.
  22879. //
  22880. // The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
  22881. // to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
  22882. // to accept a VPC attachment request.
  22883. //
  22884. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22885. // with awserr.Error's Code and Message methods to get detailed information about
  22886. // the error.
  22887. //
  22888. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22889. // API operation RejectTransitGatewayVpcAttachment for usage and error information.
  22890. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
  22891. func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
  22892. req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
  22893. return out, req.Send()
  22894. }
  22895. // RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
  22896. // the ability to pass a context and additional request options.
  22897. //
  22898. // See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
  22899. //
  22900. // The context must be non-nil and will be used for request cancellation. If
  22901. // the context is nil a panic will occur. In the future the SDK may create
  22902. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22903. // for more information on using Contexts.
  22904. func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
  22905. req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
  22906. req.SetContext(ctx)
  22907. req.ApplyOptions(opts...)
  22908. return out, req.Send()
  22909. }
  22910. const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
  22911. // RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
  22912. // client's request for the RejectVpcEndpointConnections operation. The "output" return
  22913. // value will be populated with the request's response once the request completes
  22914. // successfully.
  22915. //
  22916. // Use "Send" method on the returned Request to send the API call to the service.
  22917. // the "output" return value is not valid until after Send returns without error.
  22918. //
  22919. // See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
  22920. // API call, and error handling.
  22921. //
  22922. // This method is useful when you want to inject custom logic or configuration
  22923. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22924. //
  22925. //
  22926. // // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
  22927. // req, resp := client.RejectVpcEndpointConnectionsRequest(params)
  22928. //
  22929. // err := req.Send()
  22930. // if err == nil { // resp is now filled
  22931. // fmt.Println(resp)
  22932. // }
  22933. //
  22934. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  22935. func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
  22936. op := &request.Operation{
  22937. Name: opRejectVpcEndpointConnections,
  22938. HTTPMethod: "POST",
  22939. HTTPPath: "/",
  22940. }
  22941. if input == nil {
  22942. input = &RejectVpcEndpointConnectionsInput{}
  22943. }
  22944. output = &RejectVpcEndpointConnectionsOutput{}
  22945. req = c.newRequest(op, input, output)
  22946. return
  22947. }
  22948. // RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
  22949. //
  22950. // Rejects one or more VPC endpoint connection requests to your VPC endpoint
  22951. // service.
  22952. //
  22953. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  22954. // with awserr.Error's Code and Message methods to get detailed information about
  22955. // the error.
  22956. //
  22957. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  22958. // API operation RejectVpcEndpointConnections for usage and error information.
  22959. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
  22960. func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
  22961. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  22962. return out, req.Send()
  22963. }
  22964. // RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
  22965. // the ability to pass a context and additional request options.
  22966. //
  22967. // See RejectVpcEndpointConnections for details on how to use this API operation.
  22968. //
  22969. // The context must be non-nil and will be used for request cancellation. If
  22970. // the context is nil a panic will occur. In the future the SDK may create
  22971. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  22972. // for more information on using Contexts.
  22973. func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
  22974. req, out := c.RejectVpcEndpointConnectionsRequest(input)
  22975. req.SetContext(ctx)
  22976. req.ApplyOptions(opts...)
  22977. return out, req.Send()
  22978. }
  22979. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  22980. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  22981. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  22982. // value will be populated with the request's response once the request completes
  22983. // successfully.
  22984. //
  22985. // Use "Send" method on the returned Request to send the API call to the service.
  22986. // the "output" return value is not valid until after Send returns without error.
  22987. //
  22988. // See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
  22989. // API call, and error handling.
  22990. //
  22991. // This method is useful when you want to inject custom logic or configuration
  22992. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  22993. //
  22994. //
  22995. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  22996. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  22997. //
  22998. // err := req.Send()
  22999. // if err == nil { // resp is now filled
  23000. // fmt.Println(resp)
  23001. // }
  23002. //
  23003. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  23004. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  23005. op := &request.Operation{
  23006. Name: opRejectVpcPeeringConnection,
  23007. HTTPMethod: "POST",
  23008. HTTPPath: "/",
  23009. }
  23010. if input == nil {
  23011. input = &RejectVpcPeeringConnectionInput{}
  23012. }
  23013. output = &RejectVpcPeeringConnectionOutput{}
  23014. req = c.newRequest(op, input, output)
  23015. return
  23016. }
  23017. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  23018. //
  23019. // Rejects a VPC peering connection request. The VPC peering connection must
  23020. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  23021. // request to view your outstanding VPC peering connection requests. To delete
  23022. // an active VPC peering connection, or to delete a VPC peering connection request
  23023. // that you initiated, use DeleteVpcPeeringConnection.
  23024. //
  23025. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23026. // with awserr.Error's Code and Message methods to get detailed information about
  23027. // the error.
  23028. //
  23029. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23030. // API operation RejectVpcPeeringConnection for usage and error information.
  23031. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  23032. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  23033. req, out := c.RejectVpcPeeringConnectionRequest(input)
  23034. return out, req.Send()
  23035. }
  23036. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  23037. // the ability to pass a context and additional request options.
  23038. //
  23039. // See RejectVpcPeeringConnection for details on how to use this API operation.
  23040. //
  23041. // The context must be non-nil and will be used for request cancellation. If
  23042. // the context is nil a panic will occur. In the future the SDK may create
  23043. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23044. // for more information on using Contexts.
  23045. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  23046. req, out := c.RejectVpcPeeringConnectionRequest(input)
  23047. req.SetContext(ctx)
  23048. req.ApplyOptions(opts...)
  23049. return out, req.Send()
  23050. }
  23051. const opReleaseAddress = "ReleaseAddress"
  23052. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  23053. // client's request for the ReleaseAddress operation. The "output" return
  23054. // value will be populated with the request's response once the request completes
  23055. // successfully.
  23056. //
  23057. // Use "Send" method on the returned Request to send the API call to the service.
  23058. // the "output" return value is not valid until after Send returns without error.
  23059. //
  23060. // See ReleaseAddress for more information on using the ReleaseAddress
  23061. // API call, and error handling.
  23062. //
  23063. // This method is useful when you want to inject custom logic or configuration
  23064. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23065. //
  23066. //
  23067. // // Example sending a request using the ReleaseAddressRequest method.
  23068. // req, resp := client.ReleaseAddressRequest(params)
  23069. //
  23070. // err := req.Send()
  23071. // if err == nil { // resp is now filled
  23072. // fmt.Println(resp)
  23073. // }
  23074. //
  23075. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  23076. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  23077. op := &request.Operation{
  23078. Name: opReleaseAddress,
  23079. HTTPMethod: "POST",
  23080. HTTPPath: "/",
  23081. }
  23082. if input == nil {
  23083. input = &ReleaseAddressInput{}
  23084. }
  23085. output = &ReleaseAddressOutput{}
  23086. req = c.newRequest(op, input, output)
  23087. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23088. return
  23089. }
  23090. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  23091. //
  23092. // Releases the specified Elastic IP address.
  23093. //
  23094. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  23095. // disassociates it from any instance that it's associated with. To disassociate
  23096. // an Elastic IP address without releasing it, use DisassociateAddress.
  23097. //
  23098. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  23099. // IP address before you can release it. Otherwise, Amazon EC2 returns an error
  23100. // (InvalidIPAddress.InUse).
  23101. //
  23102. // After releasing an Elastic IP address, it is released to the IP address pool.
  23103. // Be sure to update your DNS records and any servers or devices that communicate
  23104. // with the address. If you attempt to release an Elastic IP address that you
  23105. // already released, you'll get an AuthFailure error if the address is already
  23106. // allocated to another AWS account.
  23107. //
  23108. // [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
  23109. // be able to recover it. For more information, see AllocateAddress.
  23110. //
  23111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23112. // with awserr.Error's Code and Message methods to get detailed information about
  23113. // the error.
  23114. //
  23115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23116. // API operation ReleaseAddress for usage and error information.
  23117. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  23118. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  23119. req, out := c.ReleaseAddressRequest(input)
  23120. return out, req.Send()
  23121. }
  23122. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  23123. // the ability to pass a context and additional request options.
  23124. //
  23125. // See ReleaseAddress for details on how to use this API operation.
  23126. //
  23127. // The context must be non-nil and will be used for request cancellation. If
  23128. // the context is nil a panic will occur. In the future the SDK may create
  23129. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23130. // for more information on using Contexts.
  23131. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  23132. req, out := c.ReleaseAddressRequest(input)
  23133. req.SetContext(ctx)
  23134. req.ApplyOptions(opts...)
  23135. return out, req.Send()
  23136. }
  23137. const opReleaseHosts = "ReleaseHosts"
  23138. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  23139. // client's request for the ReleaseHosts operation. The "output" return
  23140. // value will be populated with the request's response once the request completes
  23141. // successfully.
  23142. //
  23143. // Use "Send" method on the returned Request to send the API call to the service.
  23144. // the "output" return value is not valid until after Send returns without error.
  23145. //
  23146. // See ReleaseHosts for more information on using the ReleaseHosts
  23147. // API call, and error handling.
  23148. //
  23149. // This method is useful when you want to inject custom logic or configuration
  23150. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23151. //
  23152. //
  23153. // // Example sending a request using the ReleaseHostsRequest method.
  23154. // req, resp := client.ReleaseHostsRequest(params)
  23155. //
  23156. // err := req.Send()
  23157. // if err == nil { // resp is now filled
  23158. // fmt.Println(resp)
  23159. // }
  23160. //
  23161. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  23162. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  23163. op := &request.Operation{
  23164. Name: opReleaseHosts,
  23165. HTTPMethod: "POST",
  23166. HTTPPath: "/",
  23167. }
  23168. if input == nil {
  23169. input = &ReleaseHostsInput{}
  23170. }
  23171. output = &ReleaseHostsOutput{}
  23172. req = c.newRequest(op, input, output)
  23173. return
  23174. }
  23175. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  23176. //
  23177. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  23178. // On-Demand billing is stopped and the host goes into released state. The host
  23179. // ID of Dedicated Hosts that have been released can no longer be specified
  23180. // in another request, for example, to modify the host. You must stop or terminate
  23181. // all instances on a host before it can be released.
  23182. //
  23183. // When Dedicated Hosts are released, it may take some time for them to stop
  23184. // counting toward your limit and you may receive capacity errors when trying
  23185. // to allocate new Dedicated Hosts. Wait a few minutes and then try again.
  23186. //
  23187. // Released hosts still appear in a DescribeHosts response.
  23188. //
  23189. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23190. // with awserr.Error's Code and Message methods to get detailed information about
  23191. // the error.
  23192. //
  23193. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23194. // API operation ReleaseHosts for usage and error information.
  23195. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  23196. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  23197. req, out := c.ReleaseHostsRequest(input)
  23198. return out, req.Send()
  23199. }
  23200. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  23201. // the ability to pass a context and additional request options.
  23202. //
  23203. // See ReleaseHosts for details on how to use this API operation.
  23204. //
  23205. // The context must be non-nil and will be used for request cancellation. If
  23206. // the context is nil a panic will occur. In the future the SDK may create
  23207. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23208. // for more information on using Contexts.
  23209. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  23210. req, out := c.ReleaseHostsRequest(input)
  23211. req.SetContext(ctx)
  23212. req.ApplyOptions(opts...)
  23213. return out, req.Send()
  23214. }
  23215. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  23216. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  23217. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  23218. // value will be populated with the request's response once the request completes
  23219. // successfully.
  23220. //
  23221. // Use "Send" method on the returned Request to send the API call to the service.
  23222. // the "output" return value is not valid until after Send returns without error.
  23223. //
  23224. // See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
  23225. // API call, and error handling.
  23226. //
  23227. // This method is useful when you want to inject custom logic or configuration
  23228. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23229. //
  23230. //
  23231. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  23232. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  23233. //
  23234. // err := req.Send()
  23235. // if err == nil { // resp is now filled
  23236. // fmt.Println(resp)
  23237. // }
  23238. //
  23239. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  23240. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  23241. op := &request.Operation{
  23242. Name: opReplaceIamInstanceProfileAssociation,
  23243. HTTPMethod: "POST",
  23244. HTTPPath: "/",
  23245. }
  23246. if input == nil {
  23247. input = &ReplaceIamInstanceProfileAssociationInput{}
  23248. }
  23249. output = &ReplaceIamInstanceProfileAssociationOutput{}
  23250. req = c.newRequest(op, input, output)
  23251. return
  23252. }
  23253. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  23254. //
  23255. // Replaces an IAM instance profile for the specified running instance. You
  23256. // can use this action to change the IAM instance profile that's associated
  23257. // with an instance without having to disassociate the existing IAM instance
  23258. // profile first.
  23259. //
  23260. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  23261. //
  23262. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23263. // with awserr.Error's Code and Message methods to get detailed information about
  23264. // the error.
  23265. //
  23266. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23267. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  23268. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  23269. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  23270. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  23271. return out, req.Send()
  23272. }
  23273. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  23274. // the ability to pass a context and additional request options.
  23275. //
  23276. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  23277. //
  23278. // The context must be non-nil and will be used for request cancellation. If
  23279. // the context is nil a panic will occur. In the future the SDK may create
  23280. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23281. // for more information on using Contexts.
  23282. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  23283. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  23284. req.SetContext(ctx)
  23285. req.ApplyOptions(opts...)
  23286. return out, req.Send()
  23287. }
  23288. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  23289. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  23290. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  23291. // value will be populated with the request's response once the request completes
  23292. // successfully.
  23293. //
  23294. // Use "Send" method on the returned Request to send the API call to the service.
  23295. // the "output" return value is not valid until after Send returns without error.
  23296. //
  23297. // See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
  23298. // API call, and error handling.
  23299. //
  23300. // This method is useful when you want to inject custom logic or configuration
  23301. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23302. //
  23303. //
  23304. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  23305. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  23306. //
  23307. // err := req.Send()
  23308. // if err == nil { // resp is now filled
  23309. // fmt.Println(resp)
  23310. // }
  23311. //
  23312. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  23313. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  23314. op := &request.Operation{
  23315. Name: opReplaceNetworkAclAssociation,
  23316. HTTPMethod: "POST",
  23317. HTTPPath: "/",
  23318. }
  23319. if input == nil {
  23320. input = &ReplaceNetworkAclAssociationInput{}
  23321. }
  23322. output = &ReplaceNetworkAclAssociationOutput{}
  23323. req = c.newRequest(op, input, output)
  23324. return
  23325. }
  23326. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  23327. //
  23328. // Changes which network ACL a subnet is associated with. By default when you
  23329. // create a subnet, it's automatically associated with the default network ACL.
  23330. // For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  23331. // in the Amazon Virtual Private Cloud User Guide.
  23332. //
  23333. // This is an idempotent operation.
  23334. //
  23335. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23336. // with awserr.Error's Code and Message methods to get detailed information about
  23337. // the error.
  23338. //
  23339. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23340. // API operation ReplaceNetworkAclAssociation for usage and error information.
  23341. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  23342. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  23343. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  23344. return out, req.Send()
  23345. }
  23346. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  23347. // the ability to pass a context and additional request options.
  23348. //
  23349. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  23350. //
  23351. // The context must be non-nil and will be used for request cancellation. If
  23352. // the context is nil a panic will occur. In the future the SDK may create
  23353. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23354. // for more information on using Contexts.
  23355. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  23356. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  23357. req.SetContext(ctx)
  23358. req.ApplyOptions(opts...)
  23359. return out, req.Send()
  23360. }
  23361. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  23362. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  23363. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  23364. // value will be populated with the request's response once the request completes
  23365. // successfully.
  23366. //
  23367. // Use "Send" method on the returned Request to send the API call to the service.
  23368. // the "output" return value is not valid until after Send returns without error.
  23369. //
  23370. // See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
  23371. // API call, and error handling.
  23372. //
  23373. // This method is useful when you want to inject custom logic or configuration
  23374. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23375. //
  23376. //
  23377. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  23378. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  23379. //
  23380. // err := req.Send()
  23381. // if err == nil { // resp is now filled
  23382. // fmt.Println(resp)
  23383. // }
  23384. //
  23385. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  23386. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  23387. op := &request.Operation{
  23388. Name: opReplaceNetworkAclEntry,
  23389. HTTPMethod: "POST",
  23390. HTTPPath: "/",
  23391. }
  23392. if input == nil {
  23393. input = &ReplaceNetworkAclEntryInput{}
  23394. }
  23395. output = &ReplaceNetworkAclEntryOutput{}
  23396. req = c.newRequest(op, input, output)
  23397. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23398. return
  23399. }
  23400. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  23401. //
  23402. // Replaces an entry (rule) in a network ACL. For more information, see Network
  23403. // ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  23404. // in the Amazon Virtual Private Cloud User Guide.
  23405. //
  23406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23407. // with awserr.Error's Code and Message methods to get detailed information about
  23408. // the error.
  23409. //
  23410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23411. // API operation ReplaceNetworkAclEntry for usage and error information.
  23412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  23413. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  23414. req, out := c.ReplaceNetworkAclEntryRequest(input)
  23415. return out, req.Send()
  23416. }
  23417. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  23418. // the ability to pass a context and additional request options.
  23419. //
  23420. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  23421. //
  23422. // The context must be non-nil and will be used for request cancellation. If
  23423. // the context is nil a panic will occur. In the future the SDK may create
  23424. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23425. // for more information on using Contexts.
  23426. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  23427. req, out := c.ReplaceNetworkAclEntryRequest(input)
  23428. req.SetContext(ctx)
  23429. req.ApplyOptions(opts...)
  23430. return out, req.Send()
  23431. }
  23432. const opReplaceRoute = "ReplaceRoute"
  23433. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  23434. // client's request for the ReplaceRoute operation. The "output" return
  23435. // value will be populated with the request's response once the request completes
  23436. // successfully.
  23437. //
  23438. // Use "Send" method on the returned Request to send the API call to the service.
  23439. // the "output" return value is not valid until after Send returns without error.
  23440. //
  23441. // See ReplaceRoute for more information on using the ReplaceRoute
  23442. // API call, and error handling.
  23443. //
  23444. // This method is useful when you want to inject custom logic or configuration
  23445. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23446. //
  23447. //
  23448. // // Example sending a request using the ReplaceRouteRequest method.
  23449. // req, resp := client.ReplaceRouteRequest(params)
  23450. //
  23451. // err := req.Send()
  23452. // if err == nil { // resp is now filled
  23453. // fmt.Println(resp)
  23454. // }
  23455. //
  23456. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  23457. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  23458. op := &request.Operation{
  23459. Name: opReplaceRoute,
  23460. HTTPMethod: "POST",
  23461. HTTPPath: "/",
  23462. }
  23463. if input == nil {
  23464. input = &ReplaceRouteInput{}
  23465. }
  23466. output = &ReplaceRouteOutput{}
  23467. req = c.newRequest(op, input, output)
  23468. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23469. return
  23470. }
  23471. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  23472. //
  23473. // Replaces an existing route within a route table in a VPC. You must provide
  23474. // only one of the following: internet gateway or virtual private gateway, NAT
  23475. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  23476. // internet gateway.
  23477. //
  23478. // For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  23479. // in the Amazon Virtual Private Cloud User Guide.
  23480. //
  23481. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23482. // with awserr.Error's Code and Message methods to get detailed information about
  23483. // the error.
  23484. //
  23485. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23486. // API operation ReplaceRoute for usage and error information.
  23487. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  23488. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  23489. req, out := c.ReplaceRouteRequest(input)
  23490. return out, req.Send()
  23491. }
  23492. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  23493. // the ability to pass a context and additional request options.
  23494. //
  23495. // See ReplaceRoute for details on how to use this API operation.
  23496. //
  23497. // The context must be non-nil and will be used for request cancellation. If
  23498. // the context is nil a panic will occur. In the future the SDK may create
  23499. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23500. // for more information on using Contexts.
  23501. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  23502. req, out := c.ReplaceRouteRequest(input)
  23503. req.SetContext(ctx)
  23504. req.ApplyOptions(opts...)
  23505. return out, req.Send()
  23506. }
  23507. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  23508. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  23509. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  23510. // value will be populated with the request's response once the request completes
  23511. // successfully.
  23512. //
  23513. // Use "Send" method on the returned Request to send the API call to the service.
  23514. // the "output" return value is not valid until after Send returns without error.
  23515. //
  23516. // See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
  23517. // API call, and error handling.
  23518. //
  23519. // This method is useful when you want to inject custom logic or configuration
  23520. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23521. //
  23522. //
  23523. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  23524. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  23525. //
  23526. // err := req.Send()
  23527. // if err == nil { // resp is now filled
  23528. // fmt.Println(resp)
  23529. // }
  23530. //
  23531. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  23532. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  23533. op := &request.Operation{
  23534. Name: opReplaceRouteTableAssociation,
  23535. HTTPMethod: "POST",
  23536. HTTPPath: "/",
  23537. }
  23538. if input == nil {
  23539. input = &ReplaceRouteTableAssociationInput{}
  23540. }
  23541. output = &ReplaceRouteTableAssociationOutput{}
  23542. req = c.newRequest(op, input, output)
  23543. return
  23544. }
  23545. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  23546. //
  23547. // Changes the route table associated with a given subnet in a VPC. After the
  23548. // operation completes, the subnet uses the routes in the new route table it's
  23549. // associated with. For more information about route tables, see Route Tables
  23550. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  23551. // in the Amazon Virtual Private Cloud User Guide.
  23552. //
  23553. // You can also use ReplaceRouteTableAssociation to change which table is the
  23554. // main route table in the VPC. You just specify the main route table's association
  23555. // ID and the route table to be the new main route table.
  23556. //
  23557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23558. // with awserr.Error's Code and Message methods to get detailed information about
  23559. // the error.
  23560. //
  23561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23562. // API operation ReplaceRouteTableAssociation for usage and error information.
  23563. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  23564. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  23565. req, out := c.ReplaceRouteTableAssociationRequest(input)
  23566. return out, req.Send()
  23567. }
  23568. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  23569. // the ability to pass a context and additional request options.
  23570. //
  23571. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  23572. //
  23573. // The context must be non-nil and will be used for request cancellation. If
  23574. // the context is nil a panic will occur. In the future the SDK may create
  23575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23576. // for more information on using Contexts.
  23577. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  23578. req, out := c.ReplaceRouteTableAssociationRequest(input)
  23579. req.SetContext(ctx)
  23580. req.ApplyOptions(opts...)
  23581. return out, req.Send()
  23582. }
  23583. const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
  23584. // ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
  23585. // client's request for the ReplaceTransitGatewayRoute operation. The "output" return
  23586. // value will be populated with the request's response once the request completes
  23587. // successfully.
  23588. //
  23589. // Use "Send" method on the returned Request to send the API call to the service.
  23590. // the "output" return value is not valid until after Send returns without error.
  23591. //
  23592. // See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
  23593. // API call, and error handling.
  23594. //
  23595. // This method is useful when you want to inject custom logic or configuration
  23596. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23597. //
  23598. //
  23599. // // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
  23600. // req, resp := client.ReplaceTransitGatewayRouteRequest(params)
  23601. //
  23602. // err := req.Send()
  23603. // if err == nil { // resp is now filled
  23604. // fmt.Println(resp)
  23605. // }
  23606. //
  23607. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
  23608. func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
  23609. op := &request.Operation{
  23610. Name: opReplaceTransitGatewayRoute,
  23611. HTTPMethod: "POST",
  23612. HTTPPath: "/",
  23613. }
  23614. if input == nil {
  23615. input = &ReplaceTransitGatewayRouteInput{}
  23616. }
  23617. output = &ReplaceTransitGatewayRouteOutput{}
  23618. req = c.newRequest(op, input, output)
  23619. return
  23620. }
  23621. // ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
  23622. //
  23623. // Replaces the specified route in the specified transit gateway route table.
  23624. //
  23625. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23626. // with awserr.Error's Code and Message methods to get detailed information about
  23627. // the error.
  23628. //
  23629. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23630. // API operation ReplaceTransitGatewayRoute for usage and error information.
  23631. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
  23632. func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
  23633. req, out := c.ReplaceTransitGatewayRouteRequest(input)
  23634. return out, req.Send()
  23635. }
  23636. // ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
  23637. // the ability to pass a context and additional request options.
  23638. //
  23639. // See ReplaceTransitGatewayRoute for details on how to use this API operation.
  23640. //
  23641. // The context must be non-nil and will be used for request cancellation. If
  23642. // the context is nil a panic will occur. In the future the SDK may create
  23643. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23644. // for more information on using Contexts.
  23645. func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
  23646. req, out := c.ReplaceTransitGatewayRouteRequest(input)
  23647. req.SetContext(ctx)
  23648. req.ApplyOptions(opts...)
  23649. return out, req.Send()
  23650. }
  23651. const opReportInstanceStatus = "ReportInstanceStatus"
  23652. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  23653. // client's request for the ReportInstanceStatus operation. The "output" return
  23654. // value will be populated with the request's response once the request completes
  23655. // successfully.
  23656. //
  23657. // Use "Send" method on the returned Request to send the API call to the service.
  23658. // the "output" return value is not valid until after Send returns without error.
  23659. //
  23660. // See ReportInstanceStatus for more information on using the ReportInstanceStatus
  23661. // API call, and error handling.
  23662. //
  23663. // This method is useful when you want to inject custom logic or configuration
  23664. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23665. //
  23666. //
  23667. // // Example sending a request using the ReportInstanceStatusRequest method.
  23668. // req, resp := client.ReportInstanceStatusRequest(params)
  23669. //
  23670. // err := req.Send()
  23671. // if err == nil { // resp is now filled
  23672. // fmt.Println(resp)
  23673. // }
  23674. //
  23675. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  23676. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  23677. op := &request.Operation{
  23678. Name: opReportInstanceStatus,
  23679. HTTPMethod: "POST",
  23680. HTTPPath: "/",
  23681. }
  23682. if input == nil {
  23683. input = &ReportInstanceStatusInput{}
  23684. }
  23685. output = &ReportInstanceStatusOutput{}
  23686. req = c.newRequest(op, input, output)
  23687. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23688. return
  23689. }
  23690. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  23691. //
  23692. // Submits feedback about the status of an instance. The instance must be in
  23693. // the running state. If your experience with the instance differs from the
  23694. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  23695. // to report your experience with the instance. Amazon EC2 collects this information
  23696. // to improve the accuracy of status checks.
  23697. //
  23698. // Use of this action does not change the value returned by DescribeInstanceStatus.
  23699. //
  23700. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23701. // with awserr.Error's Code and Message methods to get detailed information about
  23702. // the error.
  23703. //
  23704. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23705. // API operation ReportInstanceStatus for usage and error information.
  23706. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  23707. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  23708. req, out := c.ReportInstanceStatusRequest(input)
  23709. return out, req.Send()
  23710. }
  23711. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  23712. // the ability to pass a context and additional request options.
  23713. //
  23714. // See ReportInstanceStatus for details on how to use this API operation.
  23715. //
  23716. // The context must be non-nil and will be used for request cancellation. If
  23717. // the context is nil a panic will occur. In the future the SDK may create
  23718. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23719. // for more information on using Contexts.
  23720. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  23721. req, out := c.ReportInstanceStatusRequest(input)
  23722. req.SetContext(ctx)
  23723. req.ApplyOptions(opts...)
  23724. return out, req.Send()
  23725. }
  23726. const opRequestSpotFleet = "RequestSpotFleet"
  23727. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  23728. // client's request for the RequestSpotFleet operation. The "output" return
  23729. // value will be populated with the request's response once the request completes
  23730. // successfully.
  23731. //
  23732. // Use "Send" method on the returned Request to send the API call to the service.
  23733. // the "output" return value is not valid until after Send returns without error.
  23734. //
  23735. // See RequestSpotFleet for more information on using the RequestSpotFleet
  23736. // API call, and error handling.
  23737. //
  23738. // This method is useful when you want to inject custom logic or configuration
  23739. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23740. //
  23741. //
  23742. // // Example sending a request using the RequestSpotFleetRequest method.
  23743. // req, resp := client.RequestSpotFleetRequest(params)
  23744. //
  23745. // err := req.Send()
  23746. // if err == nil { // resp is now filled
  23747. // fmt.Println(resp)
  23748. // }
  23749. //
  23750. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  23751. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  23752. op := &request.Operation{
  23753. Name: opRequestSpotFleet,
  23754. HTTPMethod: "POST",
  23755. HTTPPath: "/",
  23756. }
  23757. if input == nil {
  23758. input = &RequestSpotFleetInput{}
  23759. }
  23760. output = &RequestSpotFleetOutput{}
  23761. req = c.newRequest(op, input, output)
  23762. return
  23763. }
  23764. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  23765. //
  23766. // Creates a Spot Fleet request.
  23767. //
  23768. // The Spot Fleet request specifies the total target capacity and the On-Demand
  23769. // target capacity. Amazon EC2 calculates the difference between the total capacity
  23770. // and On-Demand capacity, and launches the difference as Spot capacity.
  23771. //
  23772. // You can submit a single request that includes multiple launch specifications
  23773. // that vary by instance type, AMI, Availability Zone, or subnet.
  23774. //
  23775. // By default, the Spot Fleet requests Spot Instances in the Spot pool where
  23776. // the price per unit is the lowest. Each launch specification can include its
  23777. // own instance weighting that reflects the value of the instance type to your
  23778. // application workload.
  23779. //
  23780. // Alternatively, you can specify that the Spot Fleet distribute the target
  23781. // capacity across the Spot pools included in its launch specifications. By
  23782. // ensuring that the Spot Instances in your Spot Fleet are in different Spot
  23783. // pools, you can improve the availability of your fleet.
  23784. //
  23785. // You can specify tags for the Spot Instances. You cannot tag other resource
  23786. // types in a Spot Fleet request because only the instance resource type is
  23787. // supported.
  23788. //
  23789. // For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  23790. // in the Amazon EC2 User Guide for Linux Instances.
  23791. //
  23792. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23793. // with awserr.Error's Code and Message methods to get detailed information about
  23794. // the error.
  23795. //
  23796. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23797. // API operation RequestSpotFleet for usage and error information.
  23798. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  23799. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  23800. req, out := c.RequestSpotFleetRequest(input)
  23801. return out, req.Send()
  23802. }
  23803. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  23804. // the ability to pass a context and additional request options.
  23805. //
  23806. // See RequestSpotFleet for details on how to use this API operation.
  23807. //
  23808. // The context must be non-nil and will be used for request cancellation. If
  23809. // the context is nil a panic will occur. In the future the SDK may create
  23810. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23811. // for more information on using Contexts.
  23812. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  23813. req, out := c.RequestSpotFleetRequest(input)
  23814. req.SetContext(ctx)
  23815. req.ApplyOptions(opts...)
  23816. return out, req.Send()
  23817. }
  23818. const opRequestSpotInstances = "RequestSpotInstances"
  23819. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  23820. // client's request for the RequestSpotInstances operation. The "output" return
  23821. // value will be populated with the request's response once the request completes
  23822. // successfully.
  23823. //
  23824. // Use "Send" method on the returned Request to send the API call to the service.
  23825. // the "output" return value is not valid until after Send returns without error.
  23826. //
  23827. // See RequestSpotInstances for more information on using the RequestSpotInstances
  23828. // API call, and error handling.
  23829. //
  23830. // This method is useful when you want to inject custom logic or configuration
  23831. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23832. //
  23833. //
  23834. // // Example sending a request using the RequestSpotInstancesRequest method.
  23835. // req, resp := client.RequestSpotInstancesRequest(params)
  23836. //
  23837. // err := req.Send()
  23838. // if err == nil { // resp is now filled
  23839. // fmt.Println(resp)
  23840. // }
  23841. //
  23842. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  23843. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  23844. op := &request.Operation{
  23845. Name: opRequestSpotInstances,
  23846. HTTPMethod: "POST",
  23847. HTTPPath: "/",
  23848. }
  23849. if input == nil {
  23850. input = &RequestSpotInstancesInput{}
  23851. }
  23852. output = &RequestSpotInstancesOutput{}
  23853. req = c.newRequest(op, input, output)
  23854. return
  23855. }
  23856. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  23857. //
  23858. // Creates a Spot Instance request.
  23859. //
  23860. // For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  23861. // in the Amazon EC2 User Guide for Linux Instances.
  23862. //
  23863. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23864. // with awserr.Error's Code and Message methods to get detailed information about
  23865. // the error.
  23866. //
  23867. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23868. // API operation RequestSpotInstances for usage and error information.
  23869. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  23870. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  23871. req, out := c.RequestSpotInstancesRequest(input)
  23872. return out, req.Send()
  23873. }
  23874. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  23875. // the ability to pass a context and additional request options.
  23876. //
  23877. // See RequestSpotInstances for details on how to use this API operation.
  23878. //
  23879. // The context must be non-nil and will be used for request cancellation. If
  23880. // the context is nil a panic will occur. In the future the SDK may create
  23881. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23882. // for more information on using Contexts.
  23883. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  23884. req, out := c.RequestSpotInstancesRequest(input)
  23885. req.SetContext(ctx)
  23886. req.ApplyOptions(opts...)
  23887. return out, req.Send()
  23888. }
  23889. const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
  23890. // ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
  23891. // client's request for the ResetFpgaImageAttribute operation. The "output" return
  23892. // value will be populated with the request's response once the request completes
  23893. // successfully.
  23894. //
  23895. // Use "Send" method on the returned Request to send the API call to the service.
  23896. // the "output" return value is not valid until after Send returns without error.
  23897. //
  23898. // See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
  23899. // API call, and error handling.
  23900. //
  23901. // This method is useful when you want to inject custom logic or configuration
  23902. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23903. //
  23904. //
  23905. // // Example sending a request using the ResetFpgaImageAttributeRequest method.
  23906. // req, resp := client.ResetFpgaImageAttributeRequest(params)
  23907. //
  23908. // err := req.Send()
  23909. // if err == nil { // resp is now filled
  23910. // fmt.Println(resp)
  23911. // }
  23912. //
  23913. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  23914. func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
  23915. op := &request.Operation{
  23916. Name: opResetFpgaImageAttribute,
  23917. HTTPMethod: "POST",
  23918. HTTPPath: "/",
  23919. }
  23920. if input == nil {
  23921. input = &ResetFpgaImageAttributeInput{}
  23922. }
  23923. output = &ResetFpgaImageAttributeOutput{}
  23924. req = c.newRequest(op, input, output)
  23925. return
  23926. }
  23927. // ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
  23928. //
  23929. // Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
  23930. // its default value. You can only reset the load permission attribute.
  23931. //
  23932. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  23933. // with awserr.Error's Code and Message methods to get detailed information about
  23934. // the error.
  23935. //
  23936. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  23937. // API operation ResetFpgaImageAttribute for usage and error information.
  23938. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
  23939. func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
  23940. req, out := c.ResetFpgaImageAttributeRequest(input)
  23941. return out, req.Send()
  23942. }
  23943. // ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
  23944. // the ability to pass a context and additional request options.
  23945. //
  23946. // See ResetFpgaImageAttribute for details on how to use this API operation.
  23947. //
  23948. // The context must be non-nil and will be used for request cancellation. If
  23949. // the context is nil a panic will occur. In the future the SDK may create
  23950. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  23951. // for more information on using Contexts.
  23952. func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
  23953. req, out := c.ResetFpgaImageAttributeRequest(input)
  23954. req.SetContext(ctx)
  23955. req.ApplyOptions(opts...)
  23956. return out, req.Send()
  23957. }
  23958. const opResetImageAttribute = "ResetImageAttribute"
  23959. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  23960. // client's request for the ResetImageAttribute operation. The "output" return
  23961. // value will be populated with the request's response once the request completes
  23962. // successfully.
  23963. //
  23964. // Use "Send" method on the returned Request to send the API call to the service.
  23965. // the "output" return value is not valid until after Send returns without error.
  23966. //
  23967. // See ResetImageAttribute for more information on using the ResetImageAttribute
  23968. // API call, and error handling.
  23969. //
  23970. // This method is useful when you want to inject custom logic or configuration
  23971. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  23972. //
  23973. //
  23974. // // Example sending a request using the ResetImageAttributeRequest method.
  23975. // req, resp := client.ResetImageAttributeRequest(params)
  23976. //
  23977. // err := req.Send()
  23978. // if err == nil { // resp is now filled
  23979. // fmt.Println(resp)
  23980. // }
  23981. //
  23982. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  23983. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  23984. op := &request.Operation{
  23985. Name: opResetImageAttribute,
  23986. HTTPMethod: "POST",
  23987. HTTPPath: "/",
  23988. }
  23989. if input == nil {
  23990. input = &ResetImageAttributeInput{}
  23991. }
  23992. output = &ResetImageAttributeOutput{}
  23993. req = c.newRequest(op, input, output)
  23994. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  23995. return
  23996. }
  23997. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  23998. //
  23999. // Resets an attribute of an AMI to its default value.
  24000. //
  24001. // The productCodes attribute can't be reset.
  24002. //
  24003. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24004. // with awserr.Error's Code and Message methods to get detailed information about
  24005. // the error.
  24006. //
  24007. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24008. // API operation ResetImageAttribute for usage and error information.
  24009. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  24010. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  24011. req, out := c.ResetImageAttributeRequest(input)
  24012. return out, req.Send()
  24013. }
  24014. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  24015. // the ability to pass a context and additional request options.
  24016. //
  24017. // See ResetImageAttribute for details on how to use this API operation.
  24018. //
  24019. // The context must be non-nil and will be used for request cancellation. If
  24020. // the context is nil a panic will occur. In the future the SDK may create
  24021. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24022. // for more information on using Contexts.
  24023. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  24024. req, out := c.ResetImageAttributeRequest(input)
  24025. req.SetContext(ctx)
  24026. req.ApplyOptions(opts...)
  24027. return out, req.Send()
  24028. }
  24029. const opResetInstanceAttribute = "ResetInstanceAttribute"
  24030. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  24031. // client's request for the ResetInstanceAttribute operation. The "output" return
  24032. // value will be populated with the request's response once the request completes
  24033. // successfully.
  24034. //
  24035. // Use "Send" method on the returned Request to send the API call to the service.
  24036. // the "output" return value is not valid until after Send returns without error.
  24037. //
  24038. // See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
  24039. // API call, and error handling.
  24040. //
  24041. // This method is useful when you want to inject custom logic or configuration
  24042. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24043. //
  24044. //
  24045. // // Example sending a request using the ResetInstanceAttributeRequest method.
  24046. // req, resp := client.ResetInstanceAttributeRequest(params)
  24047. //
  24048. // err := req.Send()
  24049. // if err == nil { // resp is now filled
  24050. // fmt.Println(resp)
  24051. // }
  24052. //
  24053. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  24054. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  24055. op := &request.Operation{
  24056. Name: opResetInstanceAttribute,
  24057. HTTPMethod: "POST",
  24058. HTTPPath: "/",
  24059. }
  24060. if input == nil {
  24061. input = &ResetInstanceAttributeInput{}
  24062. }
  24063. output = &ResetInstanceAttributeOutput{}
  24064. req = c.newRequest(op, input, output)
  24065. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24066. return
  24067. }
  24068. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  24069. //
  24070. // Resets an attribute of an instance to its default value. To reset the kernel
  24071. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  24072. // the instance can be either running or stopped.
  24073. //
  24074. // The sourceDestCheck attribute controls whether source/destination checking
  24075. // is enabled. The default value is true, which means checking is enabled. This
  24076. // value must be false for a NAT instance to perform NAT. For more information,
  24077. // see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  24078. // in the Amazon Virtual Private Cloud User Guide.
  24079. //
  24080. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24081. // with awserr.Error's Code and Message methods to get detailed information about
  24082. // the error.
  24083. //
  24084. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24085. // API operation ResetInstanceAttribute for usage and error information.
  24086. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  24087. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  24088. req, out := c.ResetInstanceAttributeRequest(input)
  24089. return out, req.Send()
  24090. }
  24091. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  24092. // the ability to pass a context and additional request options.
  24093. //
  24094. // See ResetInstanceAttribute for details on how to use this API operation.
  24095. //
  24096. // The context must be non-nil and will be used for request cancellation. If
  24097. // the context is nil a panic will occur. In the future the SDK may create
  24098. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24099. // for more information on using Contexts.
  24100. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  24101. req, out := c.ResetInstanceAttributeRequest(input)
  24102. req.SetContext(ctx)
  24103. req.ApplyOptions(opts...)
  24104. return out, req.Send()
  24105. }
  24106. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  24107. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  24108. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  24109. // value will be populated with the request's response once the request completes
  24110. // successfully.
  24111. //
  24112. // Use "Send" method on the returned Request to send the API call to the service.
  24113. // the "output" return value is not valid until after Send returns without error.
  24114. //
  24115. // See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
  24116. // API call, and error handling.
  24117. //
  24118. // This method is useful when you want to inject custom logic or configuration
  24119. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24120. //
  24121. //
  24122. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  24123. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  24124. //
  24125. // err := req.Send()
  24126. // if err == nil { // resp is now filled
  24127. // fmt.Println(resp)
  24128. // }
  24129. //
  24130. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  24131. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  24132. op := &request.Operation{
  24133. Name: opResetNetworkInterfaceAttribute,
  24134. HTTPMethod: "POST",
  24135. HTTPPath: "/",
  24136. }
  24137. if input == nil {
  24138. input = &ResetNetworkInterfaceAttributeInput{}
  24139. }
  24140. output = &ResetNetworkInterfaceAttributeOutput{}
  24141. req = c.newRequest(op, input, output)
  24142. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24143. return
  24144. }
  24145. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  24146. //
  24147. // Resets a network interface attribute. You can specify only one attribute
  24148. // at a time.
  24149. //
  24150. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24151. // with awserr.Error's Code and Message methods to get detailed information about
  24152. // the error.
  24153. //
  24154. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24155. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  24156. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  24157. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  24158. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  24159. return out, req.Send()
  24160. }
  24161. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  24162. // the ability to pass a context and additional request options.
  24163. //
  24164. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  24165. //
  24166. // The context must be non-nil and will be used for request cancellation. If
  24167. // the context is nil a panic will occur. In the future the SDK may create
  24168. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24169. // for more information on using Contexts.
  24170. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  24171. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  24172. req.SetContext(ctx)
  24173. req.ApplyOptions(opts...)
  24174. return out, req.Send()
  24175. }
  24176. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  24177. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  24178. // client's request for the ResetSnapshotAttribute operation. The "output" return
  24179. // value will be populated with the request's response once the request completes
  24180. // successfully.
  24181. //
  24182. // Use "Send" method on the returned Request to send the API call to the service.
  24183. // the "output" return value is not valid until after Send returns without error.
  24184. //
  24185. // See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
  24186. // API call, and error handling.
  24187. //
  24188. // This method is useful when you want to inject custom logic or configuration
  24189. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24190. //
  24191. //
  24192. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  24193. // req, resp := client.ResetSnapshotAttributeRequest(params)
  24194. //
  24195. // err := req.Send()
  24196. // if err == nil { // resp is now filled
  24197. // fmt.Println(resp)
  24198. // }
  24199. //
  24200. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  24201. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  24202. op := &request.Operation{
  24203. Name: opResetSnapshotAttribute,
  24204. HTTPMethod: "POST",
  24205. HTTPPath: "/",
  24206. }
  24207. if input == nil {
  24208. input = &ResetSnapshotAttributeInput{}
  24209. }
  24210. output = &ResetSnapshotAttributeOutput{}
  24211. req = c.newRequest(op, input, output)
  24212. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24213. return
  24214. }
  24215. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  24216. //
  24217. // Resets permission settings for the specified snapshot.
  24218. //
  24219. // For more information about modifying snapshot permissions, see Sharing Snapshots
  24220. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  24221. // in the Amazon Elastic Compute Cloud User Guide.
  24222. //
  24223. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24224. // with awserr.Error's Code and Message methods to get detailed information about
  24225. // the error.
  24226. //
  24227. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24228. // API operation ResetSnapshotAttribute for usage and error information.
  24229. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  24230. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  24231. req, out := c.ResetSnapshotAttributeRequest(input)
  24232. return out, req.Send()
  24233. }
  24234. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  24235. // the ability to pass a context and additional request options.
  24236. //
  24237. // See ResetSnapshotAttribute for details on how to use this API operation.
  24238. //
  24239. // The context must be non-nil and will be used for request cancellation. If
  24240. // the context is nil a panic will occur. In the future the SDK may create
  24241. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24242. // for more information on using Contexts.
  24243. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  24244. req, out := c.ResetSnapshotAttributeRequest(input)
  24245. req.SetContext(ctx)
  24246. req.ApplyOptions(opts...)
  24247. return out, req.Send()
  24248. }
  24249. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  24250. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  24251. // client's request for the RestoreAddressToClassic operation. The "output" return
  24252. // value will be populated with the request's response once the request completes
  24253. // successfully.
  24254. //
  24255. // Use "Send" method on the returned Request to send the API call to the service.
  24256. // the "output" return value is not valid until after Send returns without error.
  24257. //
  24258. // See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
  24259. // API call, and error handling.
  24260. //
  24261. // This method is useful when you want to inject custom logic or configuration
  24262. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24263. //
  24264. //
  24265. // // Example sending a request using the RestoreAddressToClassicRequest method.
  24266. // req, resp := client.RestoreAddressToClassicRequest(params)
  24267. //
  24268. // err := req.Send()
  24269. // if err == nil { // resp is now filled
  24270. // fmt.Println(resp)
  24271. // }
  24272. //
  24273. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  24274. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  24275. op := &request.Operation{
  24276. Name: opRestoreAddressToClassic,
  24277. HTTPMethod: "POST",
  24278. HTTPPath: "/",
  24279. }
  24280. if input == nil {
  24281. input = &RestoreAddressToClassicInput{}
  24282. }
  24283. output = &RestoreAddressToClassicOutput{}
  24284. req = c.newRequest(op, input, output)
  24285. return
  24286. }
  24287. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  24288. //
  24289. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  24290. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  24291. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  24292. // not be associated with an instance or network interface.
  24293. //
  24294. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24295. // with awserr.Error's Code and Message methods to get detailed information about
  24296. // the error.
  24297. //
  24298. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24299. // API operation RestoreAddressToClassic for usage and error information.
  24300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  24301. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  24302. req, out := c.RestoreAddressToClassicRequest(input)
  24303. return out, req.Send()
  24304. }
  24305. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  24306. // the ability to pass a context and additional request options.
  24307. //
  24308. // See RestoreAddressToClassic for details on how to use this API operation.
  24309. //
  24310. // The context must be non-nil and will be used for request cancellation. If
  24311. // the context is nil a panic will occur. In the future the SDK may create
  24312. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24313. // for more information on using Contexts.
  24314. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  24315. req, out := c.RestoreAddressToClassicRequest(input)
  24316. req.SetContext(ctx)
  24317. req.ApplyOptions(opts...)
  24318. return out, req.Send()
  24319. }
  24320. const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
  24321. // RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
  24322. // client's request for the RevokeClientVpnIngress operation. The "output" return
  24323. // value will be populated with the request's response once the request completes
  24324. // successfully.
  24325. //
  24326. // Use "Send" method on the returned Request to send the API call to the service.
  24327. // the "output" return value is not valid until after Send returns without error.
  24328. //
  24329. // See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
  24330. // API call, and error handling.
  24331. //
  24332. // This method is useful when you want to inject custom logic or configuration
  24333. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24334. //
  24335. //
  24336. // // Example sending a request using the RevokeClientVpnIngressRequest method.
  24337. // req, resp := client.RevokeClientVpnIngressRequest(params)
  24338. //
  24339. // err := req.Send()
  24340. // if err == nil { // resp is now filled
  24341. // fmt.Println(resp)
  24342. // }
  24343. //
  24344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
  24345. func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
  24346. op := &request.Operation{
  24347. Name: opRevokeClientVpnIngress,
  24348. HTTPMethod: "POST",
  24349. HTTPPath: "/",
  24350. }
  24351. if input == nil {
  24352. input = &RevokeClientVpnIngressInput{}
  24353. }
  24354. output = &RevokeClientVpnIngressOutput{}
  24355. req = c.newRequest(op, input, output)
  24356. return
  24357. }
  24358. // RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
  24359. //
  24360. // Removes an ingress authorization rule from a Client VPN endpoint.
  24361. //
  24362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24363. // with awserr.Error's Code and Message methods to get detailed information about
  24364. // the error.
  24365. //
  24366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24367. // API operation RevokeClientVpnIngress for usage and error information.
  24368. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
  24369. func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
  24370. req, out := c.RevokeClientVpnIngressRequest(input)
  24371. return out, req.Send()
  24372. }
  24373. // RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
  24374. // the ability to pass a context and additional request options.
  24375. //
  24376. // See RevokeClientVpnIngress for details on how to use this API operation.
  24377. //
  24378. // The context must be non-nil and will be used for request cancellation. If
  24379. // the context is nil a panic will occur. In the future the SDK may create
  24380. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24381. // for more information on using Contexts.
  24382. func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
  24383. req, out := c.RevokeClientVpnIngressRequest(input)
  24384. req.SetContext(ctx)
  24385. req.ApplyOptions(opts...)
  24386. return out, req.Send()
  24387. }
  24388. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  24389. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  24390. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  24391. // value will be populated with the request's response once the request completes
  24392. // successfully.
  24393. //
  24394. // Use "Send" method on the returned Request to send the API call to the service.
  24395. // the "output" return value is not valid until after Send returns without error.
  24396. //
  24397. // See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
  24398. // API call, and error handling.
  24399. //
  24400. // This method is useful when you want to inject custom logic or configuration
  24401. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24402. //
  24403. //
  24404. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  24405. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  24406. //
  24407. // err := req.Send()
  24408. // if err == nil { // resp is now filled
  24409. // fmt.Println(resp)
  24410. // }
  24411. //
  24412. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  24413. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  24414. op := &request.Operation{
  24415. Name: opRevokeSecurityGroupEgress,
  24416. HTTPMethod: "POST",
  24417. HTTPPath: "/",
  24418. }
  24419. if input == nil {
  24420. input = &RevokeSecurityGroupEgressInput{}
  24421. }
  24422. output = &RevokeSecurityGroupEgressOutput{}
  24423. req = c.newRequest(op, input, output)
  24424. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24425. return
  24426. }
  24427. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  24428. //
  24429. // [EC2-VPC only] Removes one or more egress rules from a security group for
  24430. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  24431. // To remove a rule, the values that you specify (for example, ports) must match
  24432. // the existing rule's values exactly.
  24433. //
  24434. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  24435. // security group. For the TCP and UDP protocols, you must also specify the
  24436. // destination port or range of ports. For the ICMP protocol, you must also
  24437. // specify the ICMP type and code. If the security group rule has a description,
  24438. // you do not have to specify the description to revoke the rule.
  24439. //
  24440. // Rule changes are propagated to instances within the security group as quickly
  24441. // as possible. However, a small delay might occur.
  24442. //
  24443. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24444. // with awserr.Error's Code and Message methods to get detailed information about
  24445. // the error.
  24446. //
  24447. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24448. // API operation RevokeSecurityGroupEgress for usage and error information.
  24449. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  24450. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  24451. req, out := c.RevokeSecurityGroupEgressRequest(input)
  24452. return out, req.Send()
  24453. }
  24454. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  24455. // the ability to pass a context and additional request options.
  24456. //
  24457. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  24458. //
  24459. // The context must be non-nil and will be used for request cancellation. If
  24460. // the context is nil a panic will occur. In the future the SDK may create
  24461. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24462. // for more information on using Contexts.
  24463. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  24464. req, out := c.RevokeSecurityGroupEgressRequest(input)
  24465. req.SetContext(ctx)
  24466. req.ApplyOptions(opts...)
  24467. return out, req.Send()
  24468. }
  24469. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  24470. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  24471. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  24472. // value will be populated with the request's response once the request completes
  24473. // successfully.
  24474. //
  24475. // Use "Send" method on the returned Request to send the API call to the service.
  24476. // the "output" return value is not valid until after Send returns without error.
  24477. //
  24478. // See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
  24479. // API call, and error handling.
  24480. //
  24481. // This method is useful when you want to inject custom logic or configuration
  24482. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24483. //
  24484. //
  24485. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  24486. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  24487. //
  24488. // err := req.Send()
  24489. // if err == nil { // resp is now filled
  24490. // fmt.Println(resp)
  24491. // }
  24492. //
  24493. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  24494. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  24495. op := &request.Operation{
  24496. Name: opRevokeSecurityGroupIngress,
  24497. HTTPMethod: "POST",
  24498. HTTPPath: "/",
  24499. }
  24500. if input == nil {
  24501. input = &RevokeSecurityGroupIngressInput{}
  24502. }
  24503. output = &RevokeSecurityGroupIngressOutput{}
  24504. req = c.newRequest(op, input, output)
  24505. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  24506. return
  24507. }
  24508. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  24509. //
  24510. // Removes one or more ingress rules from a security group. To remove a rule,
  24511. // the values that you specify (for example, ports) must match the existing
  24512. // rule's values exactly.
  24513. //
  24514. // [EC2-Classic security groups only] If the values you specify do not match
  24515. // the existing rule's values, no error is returned. Use DescribeSecurityGroups
  24516. // to verify that the rule has been removed.
  24517. //
  24518. // Each rule consists of the protocol and the CIDR range or source security
  24519. // group. For the TCP and UDP protocols, you must also specify the destination
  24520. // port or range of ports. For the ICMP protocol, you must also specify the
  24521. // ICMP type and code. If the security group rule has a description, you do
  24522. // not have to specify the description to revoke the rule.
  24523. //
  24524. // Rule changes are propagated to instances within the security group as quickly
  24525. // as possible. However, a small delay might occur.
  24526. //
  24527. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24528. // with awserr.Error's Code and Message methods to get detailed information about
  24529. // the error.
  24530. //
  24531. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24532. // API operation RevokeSecurityGroupIngress for usage and error information.
  24533. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  24534. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  24535. req, out := c.RevokeSecurityGroupIngressRequest(input)
  24536. return out, req.Send()
  24537. }
  24538. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  24539. // the ability to pass a context and additional request options.
  24540. //
  24541. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  24542. //
  24543. // The context must be non-nil and will be used for request cancellation. If
  24544. // the context is nil a panic will occur. In the future the SDK may create
  24545. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24546. // for more information on using Contexts.
  24547. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  24548. req, out := c.RevokeSecurityGroupIngressRequest(input)
  24549. req.SetContext(ctx)
  24550. req.ApplyOptions(opts...)
  24551. return out, req.Send()
  24552. }
  24553. const opRunInstances = "RunInstances"
  24554. // RunInstancesRequest generates a "aws/request.Request" representing the
  24555. // client's request for the RunInstances operation. The "output" return
  24556. // value will be populated with the request's response once the request completes
  24557. // successfully.
  24558. //
  24559. // Use "Send" method on the returned Request to send the API call to the service.
  24560. // the "output" return value is not valid until after Send returns without error.
  24561. //
  24562. // See RunInstances for more information on using the RunInstances
  24563. // API call, and error handling.
  24564. //
  24565. // This method is useful when you want to inject custom logic or configuration
  24566. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24567. //
  24568. //
  24569. // // Example sending a request using the RunInstancesRequest method.
  24570. // req, resp := client.RunInstancesRequest(params)
  24571. //
  24572. // err := req.Send()
  24573. // if err == nil { // resp is now filled
  24574. // fmt.Println(resp)
  24575. // }
  24576. //
  24577. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  24578. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  24579. op := &request.Operation{
  24580. Name: opRunInstances,
  24581. HTTPMethod: "POST",
  24582. HTTPPath: "/",
  24583. }
  24584. if input == nil {
  24585. input = &RunInstancesInput{}
  24586. }
  24587. output = &Reservation{}
  24588. req = c.newRequest(op, input, output)
  24589. return
  24590. }
  24591. // RunInstances API operation for Amazon Elastic Compute Cloud.
  24592. //
  24593. // Launches the specified number of instances using an AMI for which you have
  24594. // permissions.
  24595. //
  24596. // You can specify a number of options, or leave the default options. The following
  24597. // rules apply:
  24598. //
  24599. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  24600. // from your default VPC for you. If you don't have a default VPC, you must
  24601. // specify a subnet ID in the request.
  24602. //
  24603. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  24604. // you.
  24605. //
  24606. // * Some instance types must be launched into a VPC. If you do not have
  24607. // a default VPC, or if you do not specify a subnet ID, the request fails.
  24608. // 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).
  24609. //
  24610. // * [EC2-VPC] All instances have a network interface with a primary private
  24611. // IPv4 address. If you don't specify this address, we choose one from the
  24612. // IPv4 range of your subnet.
  24613. //
  24614. // * Not all instance types support IPv6 addresses. For more information,
  24615. // see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  24616. //
  24617. // * If you don't specify a security group ID, we use the default security
  24618. // group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  24619. //
  24620. // * If any of the AMIs have a product code attached for which the user has
  24621. // not subscribed, the request fails.
  24622. //
  24623. // You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
  24624. // which is a resource that contains the parameters to launch an instance. When
  24625. // you launch an instance using RunInstances, you can specify the launch template
  24626. // instead of specifying the launch parameters.
  24627. //
  24628. // To ensure faster instance launches, break up large requests into smaller
  24629. // batches. For example, create five separate launch requests for 100 instances
  24630. // each instead of one launch request for 500 instances.
  24631. //
  24632. // An instance is ready for you to use when it's in the running state. You can
  24633. // check the state of your instance using DescribeInstances. You can tag instances
  24634. // and EBS volumes during launch, after launch, or both. For more information,
  24635. // see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  24636. //
  24637. // Linux instances have access to the public key of the key pair at boot. You
  24638. // can use this key to provide secure access to the instance. Amazon EC2 public
  24639. // images use this feature to provide secure access without passwords. For more
  24640. // information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  24641. // in the Amazon Elastic Compute Cloud User Guide.
  24642. //
  24643. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  24644. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  24645. // and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  24646. // in the Amazon Elastic Compute Cloud User Guide.
  24647. //
  24648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24649. // with awserr.Error's Code and Message methods to get detailed information about
  24650. // the error.
  24651. //
  24652. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24653. // API operation RunInstances for usage and error information.
  24654. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  24655. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  24656. req, out := c.RunInstancesRequest(input)
  24657. return out, req.Send()
  24658. }
  24659. // RunInstancesWithContext is the same as RunInstances with the addition of
  24660. // the ability to pass a context and additional request options.
  24661. //
  24662. // See RunInstances for details on how to use this API operation.
  24663. //
  24664. // The context must be non-nil and will be used for request cancellation. If
  24665. // the context is nil a panic will occur. In the future the SDK may create
  24666. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24667. // for more information on using Contexts.
  24668. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  24669. req, out := c.RunInstancesRequest(input)
  24670. req.SetContext(ctx)
  24671. req.ApplyOptions(opts...)
  24672. return out, req.Send()
  24673. }
  24674. const opRunScheduledInstances = "RunScheduledInstances"
  24675. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  24676. // client's request for the RunScheduledInstances operation. The "output" return
  24677. // value will be populated with the request's response once the request completes
  24678. // successfully.
  24679. //
  24680. // Use "Send" method on the returned Request to send the API call to the service.
  24681. // the "output" return value is not valid until after Send returns without error.
  24682. //
  24683. // See RunScheduledInstances for more information on using the RunScheduledInstances
  24684. // API call, and error handling.
  24685. //
  24686. // This method is useful when you want to inject custom logic or configuration
  24687. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24688. //
  24689. //
  24690. // // Example sending a request using the RunScheduledInstancesRequest method.
  24691. // req, resp := client.RunScheduledInstancesRequest(params)
  24692. //
  24693. // err := req.Send()
  24694. // if err == nil { // resp is now filled
  24695. // fmt.Println(resp)
  24696. // }
  24697. //
  24698. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  24699. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  24700. op := &request.Operation{
  24701. Name: opRunScheduledInstances,
  24702. HTTPMethod: "POST",
  24703. HTTPPath: "/",
  24704. }
  24705. if input == nil {
  24706. input = &RunScheduledInstancesInput{}
  24707. }
  24708. output = &RunScheduledInstancesOutput{}
  24709. req = c.newRequest(op, input, output)
  24710. return
  24711. }
  24712. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  24713. //
  24714. // Launches the specified Scheduled Instances.
  24715. //
  24716. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  24717. // an identifier using PurchaseScheduledInstances.
  24718. //
  24719. // You must launch a Scheduled Instance during its scheduled time period. You
  24720. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  24721. // If you terminate a Scheduled Instance before the current scheduled time period
  24722. // ends, you can launch it again after a few minutes. For more information,
  24723. // see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  24724. // in the Amazon Elastic Compute Cloud User Guide.
  24725. //
  24726. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24727. // with awserr.Error's Code and Message methods to get detailed information about
  24728. // the error.
  24729. //
  24730. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24731. // API operation RunScheduledInstances for usage and error information.
  24732. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  24733. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  24734. req, out := c.RunScheduledInstancesRequest(input)
  24735. return out, req.Send()
  24736. }
  24737. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  24738. // the ability to pass a context and additional request options.
  24739. //
  24740. // See RunScheduledInstances for details on how to use this API operation.
  24741. //
  24742. // The context must be non-nil and will be used for request cancellation. If
  24743. // the context is nil a panic will occur. In the future the SDK may create
  24744. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24745. // for more information on using Contexts.
  24746. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  24747. req, out := c.RunScheduledInstancesRequest(input)
  24748. req.SetContext(ctx)
  24749. req.ApplyOptions(opts...)
  24750. return out, req.Send()
  24751. }
  24752. const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
  24753. // SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
  24754. // client's request for the SearchTransitGatewayRoutes operation. The "output" return
  24755. // value will be populated with the request's response once the request completes
  24756. // successfully.
  24757. //
  24758. // Use "Send" method on the returned Request to send the API call to the service.
  24759. // the "output" return value is not valid until after Send returns without error.
  24760. //
  24761. // See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
  24762. // API call, and error handling.
  24763. //
  24764. // This method is useful when you want to inject custom logic or configuration
  24765. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24766. //
  24767. //
  24768. // // Example sending a request using the SearchTransitGatewayRoutesRequest method.
  24769. // req, resp := client.SearchTransitGatewayRoutesRequest(params)
  24770. //
  24771. // err := req.Send()
  24772. // if err == nil { // resp is now filled
  24773. // fmt.Println(resp)
  24774. // }
  24775. //
  24776. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
  24777. func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
  24778. op := &request.Operation{
  24779. Name: opSearchTransitGatewayRoutes,
  24780. HTTPMethod: "POST",
  24781. HTTPPath: "/",
  24782. }
  24783. if input == nil {
  24784. input = &SearchTransitGatewayRoutesInput{}
  24785. }
  24786. output = &SearchTransitGatewayRoutesOutput{}
  24787. req = c.newRequest(op, input, output)
  24788. return
  24789. }
  24790. // SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
  24791. //
  24792. // Searches for routes in the specified transit gateway route table.
  24793. //
  24794. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24795. // with awserr.Error's Code and Message methods to get detailed information about
  24796. // the error.
  24797. //
  24798. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24799. // API operation SearchTransitGatewayRoutes for usage and error information.
  24800. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
  24801. func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
  24802. req, out := c.SearchTransitGatewayRoutesRequest(input)
  24803. return out, req.Send()
  24804. }
  24805. // SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
  24806. // the ability to pass a context and additional request options.
  24807. //
  24808. // See SearchTransitGatewayRoutes for details on how to use this API operation.
  24809. //
  24810. // The context must be non-nil and will be used for request cancellation. If
  24811. // the context is nil a panic will occur. In the future the SDK may create
  24812. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24813. // for more information on using Contexts.
  24814. func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
  24815. req, out := c.SearchTransitGatewayRoutesRequest(input)
  24816. req.SetContext(ctx)
  24817. req.ApplyOptions(opts...)
  24818. return out, req.Send()
  24819. }
  24820. const opStartInstances = "StartInstances"
  24821. // StartInstancesRequest generates a "aws/request.Request" representing the
  24822. // client's request for the StartInstances operation. The "output" return
  24823. // value will be populated with the request's response once the request completes
  24824. // successfully.
  24825. //
  24826. // Use "Send" method on the returned Request to send the API call to the service.
  24827. // the "output" return value is not valid until after Send returns without error.
  24828. //
  24829. // See StartInstances for more information on using the StartInstances
  24830. // API call, and error handling.
  24831. //
  24832. // This method is useful when you want to inject custom logic or configuration
  24833. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24834. //
  24835. //
  24836. // // Example sending a request using the StartInstancesRequest method.
  24837. // req, resp := client.StartInstancesRequest(params)
  24838. //
  24839. // err := req.Send()
  24840. // if err == nil { // resp is now filled
  24841. // fmt.Println(resp)
  24842. // }
  24843. //
  24844. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  24845. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  24846. op := &request.Operation{
  24847. Name: opStartInstances,
  24848. HTTPMethod: "POST",
  24849. HTTPPath: "/",
  24850. }
  24851. if input == nil {
  24852. input = &StartInstancesInput{}
  24853. }
  24854. output = &StartInstancesOutput{}
  24855. req = c.newRequest(op, input, output)
  24856. return
  24857. }
  24858. // StartInstances API operation for Amazon Elastic Compute Cloud.
  24859. //
  24860. // Starts an Amazon EBS-backed instance that you've previously stopped.
  24861. //
  24862. // Instances that use Amazon EBS volumes as their root devices can be quickly
  24863. // stopped and started. When an instance is stopped, the compute resources are
  24864. // released and you are not billed for instance usage. However, your root partition
  24865. // Amazon EBS volume remains and continues to persist your data, and you are
  24866. // charged for Amazon EBS volume usage. You can restart your instance at any
  24867. // time. Every time you start your Windows instance, Amazon EC2 charges you
  24868. // for a full instance hour. If you stop and restart your Windows instance,
  24869. // a new instance hour begins and Amazon EC2 charges you for another full instance
  24870. // hour even if you are still within the same 60-minute period when it was stopped.
  24871. // Every time you start your Linux instance, Amazon EC2 charges a one-minute
  24872. // minimum for instance usage, and thereafter charges per second for instance
  24873. // usage.
  24874. //
  24875. // Before stopping an instance, make sure it is in a state from which it can
  24876. // be restarted. Stopping an instance does not preserve data stored in RAM.
  24877. //
  24878. // Performing this operation on an instance that uses an instance store as its
  24879. // root device returns an error.
  24880. //
  24881. // For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  24882. // in the Amazon Elastic Compute Cloud User Guide.
  24883. //
  24884. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24885. // with awserr.Error's Code and Message methods to get detailed information about
  24886. // the error.
  24887. //
  24888. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  24889. // API operation StartInstances for usage and error information.
  24890. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  24891. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  24892. req, out := c.StartInstancesRequest(input)
  24893. return out, req.Send()
  24894. }
  24895. // StartInstancesWithContext is the same as StartInstances with the addition of
  24896. // the ability to pass a context and additional request options.
  24897. //
  24898. // See StartInstances for details on how to use this API operation.
  24899. //
  24900. // The context must be non-nil and will be used for request cancellation. If
  24901. // the context is nil a panic will occur. In the future the SDK may create
  24902. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  24903. // for more information on using Contexts.
  24904. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  24905. req, out := c.StartInstancesRequest(input)
  24906. req.SetContext(ctx)
  24907. req.ApplyOptions(opts...)
  24908. return out, req.Send()
  24909. }
  24910. const opStopInstances = "StopInstances"
  24911. // StopInstancesRequest generates a "aws/request.Request" representing the
  24912. // client's request for the StopInstances operation. The "output" return
  24913. // value will be populated with the request's response once the request completes
  24914. // successfully.
  24915. //
  24916. // Use "Send" method on the returned Request to send the API call to the service.
  24917. // the "output" return value is not valid until after Send returns without error.
  24918. //
  24919. // See StopInstances for more information on using the StopInstances
  24920. // API call, and error handling.
  24921. //
  24922. // This method is useful when you want to inject custom logic or configuration
  24923. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  24924. //
  24925. //
  24926. // // Example sending a request using the StopInstancesRequest method.
  24927. // req, resp := client.StopInstancesRequest(params)
  24928. //
  24929. // err := req.Send()
  24930. // if err == nil { // resp is now filled
  24931. // fmt.Println(resp)
  24932. // }
  24933. //
  24934. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  24935. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  24936. op := &request.Operation{
  24937. Name: opStopInstances,
  24938. HTTPMethod: "POST",
  24939. HTTPPath: "/",
  24940. }
  24941. if input == nil {
  24942. input = &StopInstancesInput{}
  24943. }
  24944. output = &StopInstancesOutput{}
  24945. req = c.newRequest(op, input, output)
  24946. return
  24947. }
  24948. // StopInstances API operation for Amazon Elastic Compute Cloud.
  24949. //
  24950. // Stops an Amazon EBS-backed instance.
  24951. //
  24952. // You can use the Stop action to hibernate an instance if the instance is enabled
  24953. // for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
  24954. // and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  24955. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  24956. // in the Amazon Elastic Compute Cloud User Guide.
  24957. //
  24958. // We don't charge usage for a stopped instance, or data transfer fees; however,
  24959. // your root partition Amazon EBS volume remains and continues to persist your
  24960. // data, and you are charged for Amazon EBS volume usage. Every time you start
  24961. // your Windows instance, Amazon EC2 charges you for a full instance hour. If
  24962. // you stop and restart your Windows instance, a new instance hour begins and
  24963. // Amazon EC2 charges you for another full instance hour even if you are still
  24964. // within the same 60-minute period when it was stopped. Every time you start
  24965. // your Linux instance, Amazon EC2 charges a one-minute minimum for instance
  24966. // usage, and thereafter charges per second for instance usage.
  24967. //
  24968. // You can't start, stop, or hibernate Spot Instances, and you can't stop or
  24969. // hibernate instance store-backed instances. For information about using hibernation
  24970. // for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
  24971. // in the Amazon Elastic Compute Cloud User Guide.
  24972. //
  24973. // When you stop or hibernate an instance, we shut it down. You can restart
  24974. // your instance at any time. Before stopping or hibernating an instance, make
  24975. // sure it is in a state from which it can be restarted. Stopping an instance
  24976. // does not preserve data stored in RAM, but hibernating an instance does preserve
  24977. // data stored in RAM. If an instance cannot hibernate successfully, a normal
  24978. // shutdown occurs.
  24979. //
  24980. // Stopping and hibernating an instance is different to rebooting or terminating
  24981. // it. For example, when you stop or hibernate an instance, the root device
  24982. // and any other devices attached to the instance persist. When you terminate
  24983. // an instance, the root device and any other devices attached during the instance
  24984. // launch are automatically deleted. For more information about the differences
  24985. // between rebooting, stopping, hibernating, and terminating instances, see
  24986. // Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  24987. // in the Amazon Elastic Compute Cloud User Guide.
  24988. //
  24989. // When you stop an instance, we attempt to shut it down forcibly after a short
  24990. // while. If your instance appears stuck in the stopping state after a period
  24991. // of time, there may be an issue with the underlying host computer. For more
  24992. // information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  24993. // in the Amazon Elastic Compute Cloud User Guide.
  24994. //
  24995. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  24996. // with awserr.Error's Code and Message methods to get detailed information about
  24997. // the error.
  24998. //
  24999. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25000. // API operation StopInstances for usage and error information.
  25001. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  25002. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  25003. req, out := c.StopInstancesRequest(input)
  25004. return out, req.Send()
  25005. }
  25006. // StopInstancesWithContext is the same as StopInstances with the addition of
  25007. // the ability to pass a context and additional request options.
  25008. //
  25009. // See StopInstances for details on how to use this API operation.
  25010. //
  25011. // The context must be non-nil and will be used for request cancellation. If
  25012. // the context is nil a panic will occur. In the future the SDK may create
  25013. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25014. // for more information on using Contexts.
  25015. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  25016. req, out := c.StopInstancesRequest(input)
  25017. req.SetContext(ctx)
  25018. req.ApplyOptions(opts...)
  25019. return out, req.Send()
  25020. }
  25021. const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
  25022. // TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
  25023. // client's request for the TerminateClientVpnConnections operation. The "output" return
  25024. // value will be populated with the request's response once the request completes
  25025. // successfully.
  25026. //
  25027. // Use "Send" method on the returned Request to send the API call to the service.
  25028. // the "output" return value is not valid until after Send returns without error.
  25029. //
  25030. // See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
  25031. // API call, and error handling.
  25032. //
  25033. // This method is useful when you want to inject custom logic or configuration
  25034. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25035. //
  25036. //
  25037. // // Example sending a request using the TerminateClientVpnConnectionsRequest method.
  25038. // req, resp := client.TerminateClientVpnConnectionsRequest(params)
  25039. //
  25040. // err := req.Send()
  25041. // if err == nil { // resp is now filled
  25042. // fmt.Println(resp)
  25043. // }
  25044. //
  25045. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
  25046. func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
  25047. op := &request.Operation{
  25048. Name: opTerminateClientVpnConnections,
  25049. HTTPMethod: "POST",
  25050. HTTPPath: "/",
  25051. }
  25052. if input == nil {
  25053. input = &TerminateClientVpnConnectionsInput{}
  25054. }
  25055. output = &TerminateClientVpnConnectionsOutput{}
  25056. req = c.newRequest(op, input, output)
  25057. return
  25058. }
  25059. // TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
  25060. //
  25061. // Terminates active Client VPN endpoint connections. This action can be used
  25062. // to terminate a specific client connection, or up to five connections established
  25063. // by a specific user.
  25064. //
  25065. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25066. // with awserr.Error's Code and Message methods to get detailed information about
  25067. // the error.
  25068. //
  25069. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25070. // API operation TerminateClientVpnConnections for usage and error information.
  25071. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
  25072. func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
  25073. req, out := c.TerminateClientVpnConnectionsRequest(input)
  25074. return out, req.Send()
  25075. }
  25076. // TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
  25077. // the ability to pass a context and additional request options.
  25078. //
  25079. // See TerminateClientVpnConnections for details on how to use this API operation.
  25080. //
  25081. // The context must be non-nil and will be used for request cancellation. If
  25082. // the context is nil a panic will occur. In the future the SDK may create
  25083. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25084. // for more information on using Contexts.
  25085. func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
  25086. req, out := c.TerminateClientVpnConnectionsRequest(input)
  25087. req.SetContext(ctx)
  25088. req.ApplyOptions(opts...)
  25089. return out, req.Send()
  25090. }
  25091. const opTerminateInstances = "TerminateInstances"
  25092. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  25093. // client's request for the TerminateInstances operation. The "output" return
  25094. // value will be populated with the request's response once the request completes
  25095. // successfully.
  25096. //
  25097. // Use "Send" method on the returned Request to send the API call to the service.
  25098. // the "output" return value is not valid until after Send returns without error.
  25099. //
  25100. // See TerminateInstances for more information on using the TerminateInstances
  25101. // API call, and error handling.
  25102. //
  25103. // This method is useful when you want to inject custom logic or configuration
  25104. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25105. //
  25106. //
  25107. // // Example sending a request using the TerminateInstancesRequest method.
  25108. // req, resp := client.TerminateInstancesRequest(params)
  25109. //
  25110. // err := req.Send()
  25111. // if err == nil { // resp is now filled
  25112. // fmt.Println(resp)
  25113. // }
  25114. //
  25115. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  25116. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  25117. op := &request.Operation{
  25118. Name: opTerminateInstances,
  25119. HTTPMethod: "POST",
  25120. HTTPPath: "/",
  25121. }
  25122. if input == nil {
  25123. input = &TerminateInstancesInput{}
  25124. }
  25125. output = &TerminateInstancesOutput{}
  25126. req = c.newRequest(op, input, output)
  25127. return
  25128. }
  25129. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  25130. //
  25131. // Shuts down one or more instances. This operation is idempotent; if you terminate
  25132. // an instance more than once, each call succeeds.
  25133. //
  25134. // If you specify multiple instances and the request fails (for example, because
  25135. // of a single incorrect instance ID), none of the instances are terminated.
  25136. //
  25137. // Terminated instances remain visible after termination (for approximately
  25138. // one hour).
  25139. //
  25140. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  25141. // instance launched. Volumes attached after instance launch continue running.
  25142. //
  25143. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  25144. // instance store-backed instances. What happens to an instance differs if you
  25145. // stop it or terminate it. For example, when you stop an instance, the root
  25146. // device and any other devices attached to the instance persist. When you terminate
  25147. // an instance, any attached EBS volumes with the DeleteOnTermination block
  25148. // device mapping parameter set to true are automatically deleted. For more
  25149. // information about the differences between stopping and terminating instances,
  25150. // see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  25151. // in the Amazon Elastic Compute Cloud User Guide.
  25152. //
  25153. // For more information about troubleshooting, see Troubleshooting Terminating
  25154. // Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  25155. // in the Amazon Elastic Compute Cloud User Guide.
  25156. //
  25157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25158. // with awserr.Error's Code and Message methods to get detailed information about
  25159. // the error.
  25160. //
  25161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25162. // API operation TerminateInstances for usage and error information.
  25163. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  25164. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  25165. req, out := c.TerminateInstancesRequest(input)
  25166. return out, req.Send()
  25167. }
  25168. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  25169. // the ability to pass a context and additional request options.
  25170. //
  25171. // See TerminateInstances for details on how to use this API operation.
  25172. //
  25173. // The context must be non-nil and will be used for request cancellation. If
  25174. // the context is nil a panic will occur. In the future the SDK may create
  25175. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25176. // for more information on using Contexts.
  25177. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  25178. req, out := c.TerminateInstancesRequest(input)
  25179. req.SetContext(ctx)
  25180. req.ApplyOptions(opts...)
  25181. return out, req.Send()
  25182. }
  25183. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  25184. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  25185. // client's request for the UnassignIpv6Addresses operation. The "output" return
  25186. // value will be populated with the request's response once the request completes
  25187. // successfully.
  25188. //
  25189. // Use "Send" method on the returned Request to send the API call to the service.
  25190. // the "output" return value is not valid until after Send returns without error.
  25191. //
  25192. // See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
  25193. // API call, and error handling.
  25194. //
  25195. // This method is useful when you want to inject custom logic or configuration
  25196. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25197. //
  25198. //
  25199. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  25200. // req, resp := client.UnassignIpv6AddressesRequest(params)
  25201. //
  25202. // err := req.Send()
  25203. // if err == nil { // resp is now filled
  25204. // fmt.Println(resp)
  25205. // }
  25206. //
  25207. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  25208. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  25209. op := &request.Operation{
  25210. Name: opUnassignIpv6Addresses,
  25211. HTTPMethod: "POST",
  25212. HTTPPath: "/",
  25213. }
  25214. if input == nil {
  25215. input = &UnassignIpv6AddressesInput{}
  25216. }
  25217. output = &UnassignIpv6AddressesOutput{}
  25218. req = c.newRequest(op, input, output)
  25219. return
  25220. }
  25221. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  25222. //
  25223. // Unassigns one or more IPv6 addresses from a network interface.
  25224. //
  25225. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25226. // with awserr.Error's Code and Message methods to get detailed information about
  25227. // the error.
  25228. //
  25229. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25230. // API operation UnassignIpv6Addresses for usage and error information.
  25231. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  25232. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  25233. req, out := c.UnassignIpv6AddressesRequest(input)
  25234. return out, req.Send()
  25235. }
  25236. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  25237. // the ability to pass a context and additional request options.
  25238. //
  25239. // See UnassignIpv6Addresses for details on how to use this API operation.
  25240. //
  25241. // The context must be non-nil and will be used for request cancellation. If
  25242. // the context is nil a panic will occur. In the future the SDK may create
  25243. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25244. // for more information on using Contexts.
  25245. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  25246. req, out := c.UnassignIpv6AddressesRequest(input)
  25247. req.SetContext(ctx)
  25248. req.ApplyOptions(opts...)
  25249. return out, req.Send()
  25250. }
  25251. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  25252. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  25253. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  25254. // value will be populated with the request's response once the request completes
  25255. // successfully.
  25256. //
  25257. // Use "Send" method on the returned Request to send the API call to the service.
  25258. // the "output" return value is not valid until after Send returns without error.
  25259. //
  25260. // See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
  25261. // API call, and error handling.
  25262. //
  25263. // This method is useful when you want to inject custom logic or configuration
  25264. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25265. //
  25266. //
  25267. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  25268. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  25269. //
  25270. // err := req.Send()
  25271. // if err == nil { // resp is now filled
  25272. // fmt.Println(resp)
  25273. // }
  25274. //
  25275. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  25276. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  25277. op := &request.Operation{
  25278. Name: opUnassignPrivateIpAddresses,
  25279. HTTPMethod: "POST",
  25280. HTTPPath: "/",
  25281. }
  25282. if input == nil {
  25283. input = &UnassignPrivateIpAddressesInput{}
  25284. }
  25285. output = &UnassignPrivateIpAddressesOutput{}
  25286. req = c.newRequest(op, input, output)
  25287. req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  25288. return
  25289. }
  25290. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  25291. //
  25292. // Unassigns one or more secondary private IP addresses from a network interface.
  25293. //
  25294. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25295. // with awserr.Error's Code and Message methods to get detailed information about
  25296. // the error.
  25297. //
  25298. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25299. // API operation UnassignPrivateIpAddresses for usage and error information.
  25300. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  25301. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  25302. req, out := c.UnassignPrivateIpAddressesRequest(input)
  25303. return out, req.Send()
  25304. }
  25305. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  25306. // the ability to pass a context and additional request options.
  25307. //
  25308. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  25309. //
  25310. // The context must be non-nil and will be used for request cancellation. If
  25311. // the context is nil a panic will occur. In the future the SDK may create
  25312. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25313. // for more information on using Contexts.
  25314. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  25315. req, out := c.UnassignPrivateIpAddressesRequest(input)
  25316. req.SetContext(ctx)
  25317. req.ApplyOptions(opts...)
  25318. return out, req.Send()
  25319. }
  25320. const opUnmonitorInstances = "UnmonitorInstances"
  25321. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  25322. // client's request for the UnmonitorInstances operation. The "output" return
  25323. // value will be populated with the request's response once the request completes
  25324. // successfully.
  25325. //
  25326. // Use "Send" method on the returned Request to send the API call to the service.
  25327. // the "output" return value is not valid until after Send returns without error.
  25328. //
  25329. // See UnmonitorInstances for more information on using the UnmonitorInstances
  25330. // API call, and error handling.
  25331. //
  25332. // This method is useful when you want to inject custom logic or configuration
  25333. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25334. //
  25335. //
  25336. // // Example sending a request using the UnmonitorInstancesRequest method.
  25337. // req, resp := client.UnmonitorInstancesRequest(params)
  25338. //
  25339. // err := req.Send()
  25340. // if err == nil { // resp is now filled
  25341. // fmt.Println(resp)
  25342. // }
  25343. //
  25344. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  25345. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  25346. op := &request.Operation{
  25347. Name: opUnmonitorInstances,
  25348. HTTPMethod: "POST",
  25349. HTTPPath: "/",
  25350. }
  25351. if input == nil {
  25352. input = &UnmonitorInstancesInput{}
  25353. }
  25354. output = &UnmonitorInstancesOutput{}
  25355. req = c.newRequest(op, input, output)
  25356. return
  25357. }
  25358. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  25359. //
  25360. // Disables detailed monitoring for a running instance. For more information,
  25361. // see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  25362. // in the Amazon Elastic Compute Cloud User Guide.
  25363. //
  25364. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25365. // with awserr.Error's Code and Message methods to get detailed information about
  25366. // the error.
  25367. //
  25368. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25369. // API operation UnmonitorInstances for usage and error information.
  25370. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  25371. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  25372. req, out := c.UnmonitorInstancesRequest(input)
  25373. return out, req.Send()
  25374. }
  25375. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  25376. // the ability to pass a context and additional request options.
  25377. //
  25378. // See UnmonitorInstances for details on how to use this API operation.
  25379. //
  25380. // The context must be non-nil and will be used for request cancellation. If
  25381. // the context is nil a panic will occur. In the future the SDK may create
  25382. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25383. // for more information on using Contexts.
  25384. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  25385. req, out := c.UnmonitorInstancesRequest(input)
  25386. req.SetContext(ctx)
  25387. req.ApplyOptions(opts...)
  25388. return out, req.Send()
  25389. }
  25390. const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
  25391. // UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
  25392. // client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
  25393. // value will be populated with the request's response once the request completes
  25394. // successfully.
  25395. //
  25396. // Use "Send" method on the returned Request to send the API call to the service.
  25397. // the "output" return value is not valid until after Send returns without error.
  25398. //
  25399. // See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
  25400. // API call, and error handling.
  25401. //
  25402. // This method is useful when you want to inject custom logic or configuration
  25403. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25404. //
  25405. //
  25406. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
  25407. // req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
  25408. //
  25409. // err := req.Send()
  25410. // if err == nil { // resp is now filled
  25411. // fmt.Println(resp)
  25412. // }
  25413. //
  25414. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  25415. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
  25416. op := &request.Operation{
  25417. Name: opUpdateSecurityGroupRuleDescriptionsEgress,
  25418. HTTPMethod: "POST",
  25419. HTTPPath: "/",
  25420. }
  25421. if input == nil {
  25422. input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
  25423. }
  25424. output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
  25425. req = c.newRequest(op, input, output)
  25426. return
  25427. }
  25428. // UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
  25429. //
  25430. // [EC2-VPC only] Updates the description of an egress (outbound) security group
  25431. // rule. You can replace an existing description, or add a description to a
  25432. // rule that did not have one previously.
  25433. //
  25434. // You specify the description as part of the IP permissions structure. You
  25435. // can remove a description for a security group rule by omitting the description
  25436. // parameter in the request.
  25437. //
  25438. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25439. // with awserr.Error's Code and Message methods to get detailed information about
  25440. // the error.
  25441. //
  25442. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25443. // API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
  25444. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
  25445. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  25446. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  25447. return out, req.Send()
  25448. }
  25449. // UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
  25450. // the ability to pass a context and additional request options.
  25451. //
  25452. // See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
  25453. //
  25454. // The context must be non-nil and will be used for request cancellation. If
  25455. // the context is nil a panic will occur. In the future the SDK may create
  25456. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25457. // for more information on using Contexts.
  25458. func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
  25459. req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
  25460. req.SetContext(ctx)
  25461. req.ApplyOptions(opts...)
  25462. return out, req.Send()
  25463. }
  25464. const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
  25465. // UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
  25466. // client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
  25467. // value will be populated with the request's response once the request completes
  25468. // successfully.
  25469. //
  25470. // Use "Send" method on the returned Request to send the API call to the service.
  25471. // the "output" return value is not valid until after Send returns without error.
  25472. //
  25473. // See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
  25474. // API call, and error handling.
  25475. //
  25476. // This method is useful when you want to inject custom logic or configuration
  25477. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25478. //
  25479. //
  25480. // // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
  25481. // req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
  25482. //
  25483. // err := req.Send()
  25484. // if err == nil { // resp is now filled
  25485. // fmt.Println(resp)
  25486. // }
  25487. //
  25488. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  25489. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
  25490. op := &request.Operation{
  25491. Name: opUpdateSecurityGroupRuleDescriptionsIngress,
  25492. HTTPMethod: "POST",
  25493. HTTPPath: "/",
  25494. }
  25495. if input == nil {
  25496. input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
  25497. }
  25498. output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
  25499. req = c.newRequest(op, input, output)
  25500. return
  25501. }
  25502. // UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
  25503. //
  25504. // Updates the description of an ingress (inbound) security group rule. You
  25505. // can replace an existing description, or add a description to a rule that
  25506. // did not have one previously.
  25507. //
  25508. // You specify the description as part of the IP permissions structure. You
  25509. // can remove a description for a security group rule by omitting the description
  25510. // parameter in the request.
  25511. //
  25512. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25513. // with awserr.Error's Code and Message methods to get detailed information about
  25514. // the error.
  25515. //
  25516. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25517. // API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
  25518. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
  25519. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  25520. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  25521. return out, req.Send()
  25522. }
  25523. // UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
  25524. // the ability to pass a context and additional request options.
  25525. //
  25526. // See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
  25527. //
  25528. // The context must be non-nil and will be used for request cancellation. If
  25529. // the context is nil a panic will occur. In the future the SDK may create
  25530. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25531. // for more information on using Contexts.
  25532. func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
  25533. req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
  25534. req.SetContext(ctx)
  25535. req.ApplyOptions(opts...)
  25536. return out, req.Send()
  25537. }
  25538. const opWithdrawByoipCidr = "WithdrawByoipCidr"
  25539. // WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
  25540. // client's request for the WithdrawByoipCidr operation. The "output" return
  25541. // value will be populated with the request's response once the request completes
  25542. // successfully.
  25543. //
  25544. // Use "Send" method on the returned Request to send the API call to the service.
  25545. // the "output" return value is not valid until after Send returns without error.
  25546. //
  25547. // See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
  25548. // API call, and error handling.
  25549. //
  25550. // This method is useful when you want to inject custom logic or configuration
  25551. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25552. //
  25553. //
  25554. // // Example sending a request using the WithdrawByoipCidrRequest method.
  25555. // req, resp := client.WithdrawByoipCidrRequest(params)
  25556. //
  25557. // err := req.Send()
  25558. // if err == nil { // resp is now filled
  25559. // fmt.Println(resp)
  25560. // }
  25561. //
  25562. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
  25563. func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
  25564. op := &request.Operation{
  25565. Name: opWithdrawByoipCidr,
  25566. HTTPMethod: "POST",
  25567. HTTPPath: "/",
  25568. }
  25569. if input == nil {
  25570. input = &WithdrawByoipCidrInput{}
  25571. }
  25572. output = &WithdrawByoipCidrOutput{}
  25573. req = c.newRequest(op, input, output)
  25574. return
  25575. }
  25576. // WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
  25577. //
  25578. // Stops advertising an IPv4 address range that is provisioned as an address
  25579. // pool.
  25580. //
  25581. // You can perform this operation at most once every 10 seconds, even if you
  25582. // specify different address ranges each time.
  25583. //
  25584. // It can take a few minutes before traffic to the specified addresses stops
  25585. // routing to AWS because of BGP propagation delays.
  25586. //
  25587. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  25588. // with awserr.Error's Code and Message methods to get detailed information about
  25589. // the error.
  25590. //
  25591. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  25592. // API operation WithdrawByoipCidr for usage and error information.
  25593. // See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
  25594. func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
  25595. req, out := c.WithdrawByoipCidrRequest(input)
  25596. return out, req.Send()
  25597. }
  25598. // WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
  25599. // the ability to pass a context and additional request options.
  25600. //
  25601. // See WithdrawByoipCidr for details on how to use this API operation.
  25602. //
  25603. // The context must be non-nil and will be used for request cancellation. If
  25604. // the context is nil a panic will occur. In the future the SDK may create
  25605. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  25606. // for more information on using Contexts.
  25607. func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
  25608. req, out := c.WithdrawByoipCidrRequest(input)
  25609. req.SetContext(ctx)
  25610. req.ApplyOptions(opts...)
  25611. return out, req.Send()
  25612. }
  25613. // Contains the parameters for accepting the quote.
  25614. type AcceptReservedInstancesExchangeQuoteInput struct {
  25615. _ struct{} `type:"structure"`
  25616. // Checks whether you have the required permissions for the action, without
  25617. // actually making the request, and provides an error response. If you have
  25618. // the required permissions, the error response is DryRunOperation. Otherwise,
  25619. // it is UnauthorizedOperation.
  25620. DryRun *bool `type:"boolean"`
  25621. // The IDs of the Convertible Reserved Instances to exchange for another Convertible
  25622. // Reserved Instance of the same or higher value.
  25623. //
  25624. // ReservedInstanceIds is a required field
  25625. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  25626. // The configuration of the target Convertible Reserved Instance to exchange
  25627. // for your current Convertible Reserved Instances.
  25628. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  25629. }
  25630. // String returns the string representation
  25631. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  25632. return awsutil.Prettify(s)
  25633. }
  25634. // GoString returns the string representation
  25635. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  25636. return s.String()
  25637. }
  25638. // Validate inspects the fields of the type to determine if they are valid.
  25639. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  25640. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  25641. if s.ReservedInstanceIds == nil {
  25642. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  25643. }
  25644. if s.TargetConfigurations != nil {
  25645. for i, v := range s.TargetConfigurations {
  25646. if v == nil {
  25647. continue
  25648. }
  25649. if err := v.Validate(); err != nil {
  25650. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  25651. }
  25652. }
  25653. }
  25654. if invalidParams.Len() > 0 {
  25655. return invalidParams
  25656. }
  25657. return nil
  25658. }
  25659. // SetDryRun sets the DryRun field's value.
  25660. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  25661. s.DryRun = &v
  25662. return s
  25663. }
  25664. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  25665. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  25666. s.ReservedInstanceIds = v
  25667. return s
  25668. }
  25669. // SetTargetConfigurations sets the TargetConfigurations field's value.
  25670. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  25671. s.TargetConfigurations = v
  25672. return s
  25673. }
  25674. // The result of the exchange and whether it was successful.
  25675. type AcceptReservedInstancesExchangeQuoteOutput struct {
  25676. _ struct{} `type:"structure"`
  25677. // The ID of the successful exchange.
  25678. ExchangeId *string `locationName:"exchangeId" type:"string"`
  25679. }
  25680. // String returns the string representation
  25681. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  25682. return awsutil.Prettify(s)
  25683. }
  25684. // GoString returns the string representation
  25685. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  25686. return s.String()
  25687. }
  25688. // SetExchangeId sets the ExchangeId field's value.
  25689. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  25690. s.ExchangeId = &v
  25691. return s
  25692. }
  25693. type AcceptTransitGatewayVpcAttachmentInput struct {
  25694. _ struct{} `type:"structure"`
  25695. // Checks whether you have the required permissions for the action, without
  25696. // actually making the request, and provides an error response. If you have
  25697. // the required permissions, the error response is DryRunOperation. Otherwise,
  25698. // it is UnauthorizedOperation.
  25699. DryRun *bool `type:"boolean"`
  25700. // The ID of the attachment.
  25701. //
  25702. // TransitGatewayAttachmentId is a required field
  25703. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  25704. }
  25705. // String returns the string representation
  25706. func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
  25707. return awsutil.Prettify(s)
  25708. }
  25709. // GoString returns the string representation
  25710. func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
  25711. return s.String()
  25712. }
  25713. // Validate inspects the fields of the type to determine if they are valid.
  25714. func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
  25715. invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
  25716. if s.TransitGatewayAttachmentId == nil {
  25717. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  25718. }
  25719. if invalidParams.Len() > 0 {
  25720. return invalidParams
  25721. }
  25722. return nil
  25723. }
  25724. // SetDryRun sets the DryRun field's value.
  25725. func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
  25726. s.DryRun = &v
  25727. return s
  25728. }
  25729. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  25730. func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
  25731. s.TransitGatewayAttachmentId = &v
  25732. return s
  25733. }
  25734. type AcceptTransitGatewayVpcAttachmentOutput struct {
  25735. _ struct{} `type:"structure"`
  25736. // The VPC attachment.
  25737. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  25738. }
  25739. // String returns the string representation
  25740. func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
  25741. return awsutil.Prettify(s)
  25742. }
  25743. // GoString returns the string representation
  25744. func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
  25745. return s.String()
  25746. }
  25747. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  25748. func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
  25749. s.TransitGatewayVpcAttachment = v
  25750. return s
  25751. }
  25752. type AcceptVpcEndpointConnectionsInput struct {
  25753. _ struct{} `type:"structure"`
  25754. // Checks whether you have the required permissions for the action, without
  25755. // actually making the request, and provides an error response. If you have
  25756. // the required permissions, the error response is DryRunOperation. Otherwise,
  25757. // it is UnauthorizedOperation.
  25758. DryRun *bool `type:"boolean"`
  25759. // The ID of the endpoint service.
  25760. //
  25761. // ServiceId is a required field
  25762. ServiceId *string `type:"string" required:"true"`
  25763. // The IDs of one or more interface VPC endpoints.
  25764. //
  25765. // VpcEndpointIds is a required field
  25766. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  25767. }
  25768. // String returns the string representation
  25769. func (s AcceptVpcEndpointConnectionsInput) String() string {
  25770. return awsutil.Prettify(s)
  25771. }
  25772. // GoString returns the string representation
  25773. func (s AcceptVpcEndpointConnectionsInput) GoString() string {
  25774. return s.String()
  25775. }
  25776. // Validate inspects the fields of the type to determine if they are valid.
  25777. func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
  25778. invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
  25779. if s.ServiceId == nil {
  25780. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  25781. }
  25782. if s.VpcEndpointIds == nil {
  25783. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  25784. }
  25785. if invalidParams.Len() > 0 {
  25786. return invalidParams
  25787. }
  25788. return nil
  25789. }
  25790. // SetDryRun sets the DryRun field's value.
  25791. func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
  25792. s.DryRun = &v
  25793. return s
  25794. }
  25795. // SetServiceId sets the ServiceId field's value.
  25796. func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
  25797. s.ServiceId = &v
  25798. return s
  25799. }
  25800. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  25801. func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
  25802. s.VpcEndpointIds = v
  25803. return s
  25804. }
  25805. type AcceptVpcEndpointConnectionsOutput struct {
  25806. _ struct{} `type:"structure"`
  25807. // Information about the interface endpoints that were not accepted, if applicable.
  25808. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  25809. }
  25810. // String returns the string representation
  25811. func (s AcceptVpcEndpointConnectionsOutput) String() string {
  25812. return awsutil.Prettify(s)
  25813. }
  25814. // GoString returns the string representation
  25815. func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
  25816. return s.String()
  25817. }
  25818. // SetUnsuccessful sets the Unsuccessful field's value.
  25819. func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
  25820. s.Unsuccessful = v
  25821. return s
  25822. }
  25823. type AcceptVpcPeeringConnectionInput struct {
  25824. _ struct{} `type:"structure"`
  25825. // Checks whether you have the required permissions for the action, without
  25826. // actually making the request, and provides an error response. If you have
  25827. // the required permissions, the error response is DryRunOperation. Otherwise,
  25828. // it is UnauthorizedOperation.
  25829. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25830. // The ID of the VPC peering connection. You must specify this parameter in
  25831. // the request.
  25832. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  25833. }
  25834. // String returns the string representation
  25835. func (s AcceptVpcPeeringConnectionInput) String() string {
  25836. return awsutil.Prettify(s)
  25837. }
  25838. // GoString returns the string representation
  25839. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  25840. return s.String()
  25841. }
  25842. // SetDryRun sets the DryRun field's value.
  25843. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  25844. s.DryRun = &v
  25845. return s
  25846. }
  25847. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  25848. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  25849. s.VpcPeeringConnectionId = &v
  25850. return s
  25851. }
  25852. type AcceptVpcPeeringConnectionOutput struct {
  25853. _ struct{} `type:"structure"`
  25854. // Information about the VPC peering connection.
  25855. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  25856. }
  25857. // String returns the string representation
  25858. func (s AcceptVpcPeeringConnectionOutput) String() string {
  25859. return awsutil.Prettify(s)
  25860. }
  25861. // GoString returns the string representation
  25862. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  25863. return s.String()
  25864. }
  25865. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  25866. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  25867. s.VpcPeeringConnection = v
  25868. return s
  25869. }
  25870. // Describes an account attribute.
  25871. type AccountAttribute struct {
  25872. _ struct{} `type:"structure"`
  25873. // The name of the account attribute.
  25874. AttributeName *string `locationName:"attributeName" type:"string"`
  25875. // One or more values for the account attribute.
  25876. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  25877. }
  25878. // String returns the string representation
  25879. func (s AccountAttribute) String() string {
  25880. return awsutil.Prettify(s)
  25881. }
  25882. // GoString returns the string representation
  25883. func (s AccountAttribute) GoString() string {
  25884. return s.String()
  25885. }
  25886. // SetAttributeName sets the AttributeName field's value.
  25887. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  25888. s.AttributeName = &v
  25889. return s
  25890. }
  25891. // SetAttributeValues sets the AttributeValues field's value.
  25892. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  25893. s.AttributeValues = v
  25894. return s
  25895. }
  25896. // Describes a value of an account attribute.
  25897. type AccountAttributeValue struct {
  25898. _ struct{} `type:"structure"`
  25899. // The value of the attribute.
  25900. AttributeValue *string `locationName:"attributeValue" type:"string"`
  25901. }
  25902. // String returns the string representation
  25903. func (s AccountAttributeValue) String() string {
  25904. return awsutil.Prettify(s)
  25905. }
  25906. // GoString returns the string representation
  25907. func (s AccountAttributeValue) GoString() string {
  25908. return s.String()
  25909. }
  25910. // SetAttributeValue sets the AttributeValue field's value.
  25911. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  25912. s.AttributeValue = &v
  25913. return s
  25914. }
  25915. // Describes a running instance in a Spot Fleet.
  25916. type ActiveInstance struct {
  25917. _ struct{} `type:"structure"`
  25918. // The health status of the instance. If the status of either the instance status
  25919. // check or the system status check is impaired, the health status of the instance
  25920. // is unhealthy. Otherwise, the health status is healthy.
  25921. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  25922. // The ID of the instance.
  25923. InstanceId *string `locationName:"instanceId" type:"string"`
  25924. // The instance type.
  25925. InstanceType *string `locationName:"instanceType" type:"string"`
  25926. // The ID of the Spot Instance request.
  25927. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  25928. }
  25929. // String returns the string representation
  25930. func (s ActiveInstance) String() string {
  25931. return awsutil.Prettify(s)
  25932. }
  25933. // GoString returns the string representation
  25934. func (s ActiveInstance) GoString() string {
  25935. return s.String()
  25936. }
  25937. // SetInstanceHealth sets the InstanceHealth field's value.
  25938. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  25939. s.InstanceHealth = &v
  25940. return s
  25941. }
  25942. // SetInstanceId sets the InstanceId field's value.
  25943. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  25944. s.InstanceId = &v
  25945. return s
  25946. }
  25947. // SetInstanceType sets the InstanceType field's value.
  25948. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  25949. s.InstanceType = &v
  25950. return s
  25951. }
  25952. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  25953. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  25954. s.SpotInstanceRequestId = &v
  25955. return s
  25956. }
  25957. // Describes an Elastic IP address.
  25958. type Address struct {
  25959. _ struct{} `type:"structure"`
  25960. // The ID representing the allocation of the address for use with EC2-VPC.
  25961. AllocationId *string `locationName:"allocationId" type:"string"`
  25962. // The ID representing the association of the address with an instance in a
  25963. // VPC.
  25964. AssociationId *string `locationName:"associationId" type:"string"`
  25965. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  25966. // (standard) or instances in a VPC (vpc).
  25967. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  25968. // The ID of the instance that the address is associated with (if any).
  25969. InstanceId *string `locationName:"instanceId" type:"string"`
  25970. // The ID of the network interface.
  25971. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  25972. // The ID of the AWS account that owns the network interface.
  25973. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  25974. // The private IP address associated with the Elastic IP address.
  25975. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  25976. // The Elastic IP address.
  25977. PublicIp *string `locationName:"publicIp" type:"string"`
  25978. // The ID of an address pool.
  25979. PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
  25980. // Any tags assigned to the Elastic IP address.
  25981. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  25982. }
  25983. // String returns the string representation
  25984. func (s Address) String() string {
  25985. return awsutil.Prettify(s)
  25986. }
  25987. // GoString returns the string representation
  25988. func (s Address) GoString() string {
  25989. return s.String()
  25990. }
  25991. // SetAllocationId sets the AllocationId field's value.
  25992. func (s *Address) SetAllocationId(v string) *Address {
  25993. s.AllocationId = &v
  25994. return s
  25995. }
  25996. // SetAssociationId sets the AssociationId field's value.
  25997. func (s *Address) SetAssociationId(v string) *Address {
  25998. s.AssociationId = &v
  25999. return s
  26000. }
  26001. // SetDomain sets the Domain field's value.
  26002. func (s *Address) SetDomain(v string) *Address {
  26003. s.Domain = &v
  26004. return s
  26005. }
  26006. // SetInstanceId sets the InstanceId field's value.
  26007. func (s *Address) SetInstanceId(v string) *Address {
  26008. s.InstanceId = &v
  26009. return s
  26010. }
  26011. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26012. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  26013. s.NetworkInterfaceId = &v
  26014. return s
  26015. }
  26016. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  26017. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  26018. s.NetworkInterfaceOwnerId = &v
  26019. return s
  26020. }
  26021. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  26022. func (s *Address) SetPrivateIpAddress(v string) *Address {
  26023. s.PrivateIpAddress = &v
  26024. return s
  26025. }
  26026. // SetPublicIp sets the PublicIp field's value.
  26027. func (s *Address) SetPublicIp(v string) *Address {
  26028. s.PublicIp = &v
  26029. return s
  26030. }
  26031. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  26032. func (s *Address) SetPublicIpv4Pool(v string) *Address {
  26033. s.PublicIpv4Pool = &v
  26034. return s
  26035. }
  26036. // SetTags sets the Tags field's value.
  26037. func (s *Address) SetTags(v []*Tag) *Address {
  26038. s.Tags = v
  26039. return s
  26040. }
  26041. type AdvertiseByoipCidrInput struct {
  26042. _ struct{} `type:"structure"`
  26043. // The IPv4 address range, in CIDR notation. This must be the exact range that
  26044. // you provisioned. You can't advertise only a portion of the provisioned range.
  26045. //
  26046. // Cidr is a required field
  26047. Cidr *string `type:"string" required:"true"`
  26048. // Checks whether you have the required permissions for the action, without
  26049. // actually making the request, and provides an error response. If you have
  26050. // the required permissions, the error response is DryRunOperation. Otherwise,
  26051. // it is UnauthorizedOperation.
  26052. DryRun *bool `type:"boolean"`
  26053. }
  26054. // String returns the string representation
  26055. func (s AdvertiseByoipCidrInput) String() string {
  26056. return awsutil.Prettify(s)
  26057. }
  26058. // GoString returns the string representation
  26059. func (s AdvertiseByoipCidrInput) GoString() string {
  26060. return s.String()
  26061. }
  26062. // Validate inspects the fields of the type to determine if they are valid.
  26063. func (s *AdvertiseByoipCidrInput) Validate() error {
  26064. invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
  26065. if s.Cidr == nil {
  26066. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  26067. }
  26068. if invalidParams.Len() > 0 {
  26069. return invalidParams
  26070. }
  26071. return nil
  26072. }
  26073. // SetCidr sets the Cidr field's value.
  26074. func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
  26075. s.Cidr = &v
  26076. return s
  26077. }
  26078. // SetDryRun sets the DryRun field's value.
  26079. func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
  26080. s.DryRun = &v
  26081. return s
  26082. }
  26083. type AdvertiseByoipCidrOutput struct {
  26084. _ struct{} `type:"structure"`
  26085. // Information about the address range.
  26086. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  26087. }
  26088. // String returns the string representation
  26089. func (s AdvertiseByoipCidrOutput) String() string {
  26090. return awsutil.Prettify(s)
  26091. }
  26092. // GoString returns the string representation
  26093. func (s AdvertiseByoipCidrOutput) GoString() string {
  26094. return s.String()
  26095. }
  26096. // SetByoipCidr sets the ByoipCidr field's value.
  26097. func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
  26098. s.ByoipCidr = v
  26099. return s
  26100. }
  26101. type AllocateAddressInput struct {
  26102. _ struct{} `type:"structure"`
  26103. // [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
  26104. // pool.
  26105. Address *string `type:"string"`
  26106. // Set to vpc to allocate the address for use with instances in a VPC.
  26107. //
  26108. // Default: The address is for use with instances in EC2-Classic.
  26109. Domain *string `type:"string" enum:"DomainType"`
  26110. // Checks whether you have the required permissions for the action, without
  26111. // actually making the request, and provides an error response. If you have
  26112. // the required permissions, the error response is DryRunOperation. Otherwise,
  26113. // it is UnauthorizedOperation.
  26114. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26115. // The ID of an address pool that you own. Use this parameter to let Amazon
  26116. // EC2 select an address from the address pool. To specify a specific address
  26117. // from the address pool, use the Address parameter instead.
  26118. PublicIpv4Pool *string `type:"string"`
  26119. }
  26120. // String returns the string representation
  26121. func (s AllocateAddressInput) String() string {
  26122. return awsutil.Prettify(s)
  26123. }
  26124. // GoString returns the string representation
  26125. func (s AllocateAddressInput) GoString() string {
  26126. return s.String()
  26127. }
  26128. // SetAddress sets the Address field's value.
  26129. func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
  26130. s.Address = &v
  26131. return s
  26132. }
  26133. // SetDomain sets the Domain field's value.
  26134. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  26135. s.Domain = &v
  26136. return s
  26137. }
  26138. // SetDryRun sets the DryRun field's value.
  26139. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  26140. s.DryRun = &v
  26141. return s
  26142. }
  26143. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  26144. func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
  26145. s.PublicIpv4Pool = &v
  26146. return s
  26147. }
  26148. type AllocateAddressOutput struct {
  26149. _ struct{} `type:"structure"`
  26150. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  26151. // IP address for use with instances in a VPC.
  26152. AllocationId *string `locationName:"allocationId" type:"string"`
  26153. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  26154. // (standard) or instances in a VPC (vpc).
  26155. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  26156. // The Elastic IP address.
  26157. PublicIp *string `locationName:"publicIp" type:"string"`
  26158. // The ID of an address pool.
  26159. PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
  26160. }
  26161. // String returns the string representation
  26162. func (s AllocateAddressOutput) String() string {
  26163. return awsutil.Prettify(s)
  26164. }
  26165. // GoString returns the string representation
  26166. func (s AllocateAddressOutput) GoString() string {
  26167. return s.String()
  26168. }
  26169. // SetAllocationId sets the AllocationId field's value.
  26170. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  26171. s.AllocationId = &v
  26172. return s
  26173. }
  26174. // SetDomain sets the Domain field's value.
  26175. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  26176. s.Domain = &v
  26177. return s
  26178. }
  26179. // SetPublicIp sets the PublicIp field's value.
  26180. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  26181. s.PublicIp = &v
  26182. return s
  26183. }
  26184. // SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
  26185. func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
  26186. s.PublicIpv4Pool = &v
  26187. return s
  26188. }
  26189. type AllocateHostsInput struct {
  26190. _ struct{} `type:"structure"`
  26191. // This is enabled by default. This property allows instances to be automatically
  26192. // placed onto available Dedicated Hosts, when you are launching instances without
  26193. // specifying a host ID.
  26194. //
  26195. // Default: Enabled
  26196. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  26197. // The Availability Zone for the Dedicated Hosts.
  26198. //
  26199. // AvailabilityZone is a required field
  26200. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  26201. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  26202. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  26203. // in the Amazon Elastic Compute Cloud User Guide.
  26204. ClientToken *string `locationName:"clientToken" type:"string"`
  26205. // Specify the instance type for which to configure your Dedicated Hosts. When
  26206. // you specify the instance type, that is the only instance type that you can
  26207. // launch onto that host.
  26208. //
  26209. // InstanceType is a required field
  26210. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  26211. // The number of Dedicated Hosts to allocate to your account with these parameters.
  26212. //
  26213. // Quantity is a required field
  26214. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  26215. // The tags to apply to the Dedicated Host during creation.
  26216. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  26217. }
  26218. // String returns the string representation
  26219. func (s AllocateHostsInput) String() string {
  26220. return awsutil.Prettify(s)
  26221. }
  26222. // GoString returns the string representation
  26223. func (s AllocateHostsInput) GoString() string {
  26224. return s.String()
  26225. }
  26226. // Validate inspects the fields of the type to determine if they are valid.
  26227. func (s *AllocateHostsInput) Validate() error {
  26228. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  26229. if s.AvailabilityZone == nil {
  26230. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  26231. }
  26232. if s.InstanceType == nil {
  26233. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  26234. }
  26235. if s.Quantity == nil {
  26236. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  26237. }
  26238. if invalidParams.Len() > 0 {
  26239. return invalidParams
  26240. }
  26241. return nil
  26242. }
  26243. // SetAutoPlacement sets the AutoPlacement field's value.
  26244. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  26245. s.AutoPlacement = &v
  26246. return s
  26247. }
  26248. // SetAvailabilityZone sets the AvailabilityZone field's value.
  26249. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  26250. s.AvailabilityZone = &v
  26251. return s
  26252. }
  26253. // SetClientToken sets the ClientToken field's value.
  26254. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  26255. s.ClientToken = &v
  26256. return s
  26257. }
  26258. // SetInstanceType sets the InstanceType field's value.
  26259. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  26260. s.InstanceType = &v
  26261. return s
  26262. }
  26263. // SetQuantity sets the Quantity field's value.
  26264. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  26265. s.Quantity = &v
  26266. return s
  26267. }
  26268. // SetTagSpecifications sets the TagSpecifications field's value.
  26269. func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
  26270. s.TagSpecifications = v
  26271. return s
  26272. }
  26273. // Contains the output of AllocateHosts.
  26274. type AllocateHostsOutput struct {
  26275. _ struct{} `type:"structure"`
  26276. // The ID of the allocated Dedicated Host. This is used to launch an instance
  26277. // onto a specific host.
  26278. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  26279. }
  26280. // String returns the string representation
  26281. func (s AllocateHostsOutput) String() string {
  26282. return awsutil.Prettify(s)
  26283. }
  26284. // GoString returns the string representation
  26285. func (s AllocateHostsOutput) GoString() string {
  26286. return s.String()
  26287. }
  26288. // SetHostIds sets the HostIds field's value.
  26289. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  26290. s.HostIds = v
  26291. return s
  26292. }
  26293. // Describes a principal.
  26294. type AllowedPrincipal struct {
  26295. _ struct{} `type:"structure"`
  26296. // The Amazon Resource Name (ARN) of the principal.
  26297. Principal *string `locationName:"principal" type:"string"`
  26298. // The type of principal.
  26299. PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
  26300. }
  26301. // String returns the string representation
  26302. func (s AllowedPrincipal) String() string {
  26303. return awsutil.Prettify(s)
  26304. }
  26305. // GoString returns the string representation
  26306. func (s AllowedPrincipal) GoString() string {
  26307. return s.String()
  26308. }
  26309. // SetPrincipal sets the Principal field's value.
  26310. func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
  26311. s.Principal = &v
  26312. return s
  26313. }
  26314. // SetPrincipalType sets the PrincipalType field's value.
  26315. func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
  26316. s.PrincipalType = &v
  26317. return s
  26318. }
  26319. type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
  26320. _ struct{} `type:"structure"`
  26321. // The ID of the Client VPN endpoint.
  26322. //
  26323. // ClientVpnEndpointId is a required field
  26324. ClientVpnEndpointId *string `type:"string" required:"true"`
  26325. // Checks whether you have the required permissions for the action, without
  26326. // actually making the request, and provides an error response. If you have
  26327. // the required permissions, the error response is DryRunOperation. Otherwise,
  26328. // it is UnauthorizedOperation.
  26329. DryRun *bool `type:"boolean"`
  26330. // The IDs of the security groups to apply to the associated target network.
  26331. // Up to 5 security groups can be applied to an associated target network.
  26332. //
  26333. // SecurityGroupIds is a required field
  26334. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
  26335. // The ID of the VPC in which the associated target network is located.
  26336. //
  26337. // VpcId is a required field
  26338. VpcId *string `type:"string" required:"true"`
  26339. }
  26340. // String returns the string representation
  26341. func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
  26342. return awsutil.Prettify(s)
  26343. }
  26344. // GoString returns the string representation
  26345. func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
  26346. return s.String()
  26347. }
  26348. // Validate inspects the fields of the type to determine if they are valid.
  26349. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
  26350. invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
  26351. if s.ClientVpnEndpointId == nil {
  26352. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  26353. }
  26354. if s.SecurityGroupIds == nil {
  26355. invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
  26356. }
  26357. if s.VpcId == nil {
  26358. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26359. }
  26360. if invalidParams.Len() > 0 {
  26361. return invalidParams
  26362. }
  26363. return nil
  26364. }
  26365. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  26366. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  26367. s.ClientVpnEndpointId = &v
  26368. return s
  26369. }
  26370. // SetDryRun sets the DryRun field's value.
  26371. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  26372. s.DryRun = &v
  26373. return s
  26374. }
  26375. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  26376. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  26377. s.SecurityGroupIds = v
  26378. return s
  26379. }
  26380. // SetVpcId sets the VpcId field's value.
  26381. func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
  26382. s.VpcId = &v
  26383. return s
  26384. }
  26385. type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
  26386. _ struct{} `type:"structure"`
  26387. // The IDs of the applied security groups.
  26388. SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
  26389. }
  26390. // String returns the string representation
  26391. func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
  26392. return awsutil.Prettify(s)
  26393. }
  26394. // GoString returns the string representation
  26395. func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
  26396. return s.String()
  26397. }
  26398. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  26399. func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
  26400. s.SecurityGroupIds = v
  26401. return s
  26402. }
  26403. type AssignIpv6AddressesInput struct {
  26404. _ struct{} `type:"structure"`
  26405. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  26406. // automatically selects the IPv6 addresses from the subnet range. You can't
  26407. // use this option if specifying specific IPv6 addresses.
  26408. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  26409. // One or more specific IPv6 addresses to be assigned to the network interface.
  26410. // You can't use this option if you're specifying a number of IPv6 addresses.
  26411. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  26412. // The ID of the network interface.
  26413. //
  26414. // NetworkInterfaceId is a required field
  26415. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  26416. }
  26417. // String returns the string representation
  26418. func (s AssignIpv6AddressesInput) String() string {
  26419. return awsutil.Prettify(s)
  26420. }
  26421. // GoString returns the string representation
  26422. func (s AssignIpv6AddressesInput) GoString() string {
  26423. return s.String()
  26424. }
  26425. // Validate inspects the fields of the type to determine if they are valid.
  26426. func (s *AssignIpv6AddressesInput) Validate() error {
  26427. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  26428. if s.NetworkInterfaceId == nil {
  26429. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  26430. }
  26431. if invalidParams.Len() > 0 {
  26432. return invalidParams
  26433. }
  26434. return nil
  26435. }
  26436. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  26437. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  26438. s.Ipv6AddressCount = &v
  26439. return s
  26440. }
  26441. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  26442. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  26443. s.Ipv6Addresses = v
  26444. return s
  26445. }
  26446. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26447. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  26448. s.NetworkInterfaceId = &v
  26449. return s
  26450. }
  26451. type AssignIpv6AddressesOutput struct {
  26452. _ struct{} `type:"structure"`
  26453. // The IPv6 addresses assigned to the network interface.
  26454. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  26455. // The ID of the network interface.
  26456. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  26457. }
  26458. // String returns the string representation
  26459. func (s AssignIpv6AddressesOutput) String() string {
  26460. return awsutil.Prettify(s)
  26461. }
  26462. // GoString returns the string representation
  26463. func (s AssignIpv6AddressesOutput) GoString() string {
  26464. return s.String()
  26465. }
  26466. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  26467. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  26468. s.AssignedIpv6Addresses = v
  26469. return s
  26470. }
  26471. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26472. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  26473. s.NetworkInterfaceId = &v
  26474. return s
  26475. }
  26476. // Contains the parameters for AssignPrivateIpAddresses.
  26477. type AssignPrivateIpAddressesInput struct {
  26478. _ struct{} `type:"structure"`
  26479. // Indicates whether to allow an IP address that is already assigned to another
  26480. // network interface or instance to be reassigned to the specified network interface.
  26481. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  26482. // The ID of the network interface.
  26483. //
  26484. // NetworkInterfaceId is a required field
  26485. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  26486. // One or more IP addresses to be assigned as a secondary private IP address
  26487. // to the network interface. You can't specify this parameter when also specifying
  26488. // a number of secondary IP addresses.
  26489. //
  26490. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  26491. // address within the subnet range.
  26492. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  26493. // The number of secondary IP addresses to assign to the network interface.
  26494. // You can't specify this parameter when also specifying private IP addresses.
  26495. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  26496. }
  26497. // String returns the string representation
  26498. func (s AssignPrivateIpAddressesInput) String() string {
  26499. return awsutil.Prettify(s)
  26500. }
  26501. // GoString returns the string representation
  26502. func (s AssignPrivateIpAddressesInput) GoString() string {
  26503. return s.String()
  26504. }
  26505. // Validate inspects the fields of the type to determine if they are valid.
  26506. func (s *AssignPrivateIpAddressesInput) Validate() error {
  26507. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  26508. if s.NetworkInterfaceId == nil {
  26509. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  26510. }
  26511. if invalidParams.Len() > 0 {
  26512. return invalidParams
  26513. }
  26514. return nil
  26515. }
  26516. // SetAllowReassignment sets the AllowReassignment field's value.
  26517. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  26518. s.AllowReassignment = &v
  26519. return s
  26520. }
  26521. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26522. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  26523. s.NetworkInterfaceId = &v
  26524. return s
  26525. }
  26526. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  26527. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  26528. s.PrivateIpAddresses = v
  26529. return s
  26530. }
  26531. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  26532. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  26533. s.SecondaryPrivateIpAddressCount = &v
  26534. return s
  26535. }
  26536. type AssignPrivateIpAddressesOutput struct {
  26537. _ struct{} `type:"structure"`
  26538. }
  26539. // String returns the string representation
  26540. func (s AssignPrivateIpAddressesOutput) String() string {
  26541. return awsutil.Prettify(s)
  26542. }
  26543. // GoString returns the string representation
  26544. func (s AssignPrivateIpAddressesOutput) GoString() string {
  26545. return s.String()
  26546. }
  26547. type AssociateAddressInput struct {
  26548. _ struct{} `type:"structure"`
  26549. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  26550. AllocationId *string `type:"string"`
  26551. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  26552. // IP address that is already associated with an instance or network interface
  26553. // to be reassociated with the specified instance or network interface. Otherwise,
  26554. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  26555. // automatic, therefore you can specify false to ensure the operation fails
  26556. // if the Elastic IP address is already associated with another resource.
  26557. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  26558. // Checks whether you have the required permissions for the action, without
  26559. // actually making the request, and provides an error response. If you have
  26560. // the required permissions, the error response is DryRunOperation. Otherwise,
  26561. // it is UnauthorizedOperation.
  26562. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26563. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  26564. // can specify either the instance ID or the network interface ID, but not both.
  26565. // The operation fails if you specify an instance ID unless exactly one network
  26566. // interface is attached.
  26567. InstanceId *string `type:"string"`
  26568. // [EC2-VPC] The ID of the network interface. If the instance has more than
  26569. // one network interface, you must specify a network interface ID.
  26570. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  26571. // [EC2-VPC] The primary or secondary private IP address to associate with the
  26572. // Elastic IP address. If no private IP address is specified, the Elastic IP
  26573. // address is associated with the primary private IP address.
  26574. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  26575. // The Elastic IP address. This is required for EC2-Classic.
  26576. PublicIp *string `type:"string"`
  26577. }
  26578. // String returns the string representation
  26579. func (s AssociateAddressInput) String() string {
  26580. return awsutil.Prettify(s)
  26581. }
  26582. // GoString returns the string representation
  26583. func (s AssociateAddressInput) GoString() string {
  26584. return s.String()
  26585. }
  26586. // SetAllocationId sets the AllocationId field's value.
  26587. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  26588. s.AllocationId = &v
  26589. return s
  26590. }
  26591. // SetAllowReassociation sets the AllowReassociation field's value.
  26592. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  26593. s.AllowReassociation = &v
  26594. return s
  26595. }
  26596. // SetDryRun sets the DryRun field's value.
  26597. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  26598. s.DryRun = &v
  26599. return s
  26600. }
  26601. // SetInstanceId sets the InstanceId field's value.
  26602. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  26603. s.InstanceId = &v
  26604. return s
  26605. }
  26606. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  26607. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  26608. s.NetworkInterfaceId = &v
  26609. return s
  26610. }
  26611. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  26612. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  26613. s.PrivateIpAddress = &v
  26614. return s
  26615. }
  26616. // SetPublicIp sets the PublicIp field's value.
  26617. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  26618. s.PublicIp = &v
  26619. return s
  26620. }
  26621. type AssociateAddressOutput struct {
  26622. _ struct{} `type:"structure"`
  26623. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  26624. // with an instance.
  26625. AssociationId *string `locationName:"associationId" type:"string"`
  26626. }
  26627. // String returns the string representation
  26628. func (s AssociateAddressOutput) String() string {
  26629. return awsutil.Prettify(s)
  26630. }
  26631. // GoString returns the string representation
  26632. func (s AssociateAddressOutput) GoString() string {
  26633. return s.String()
  26634. }
  26635. // SetAssociationId sets the AssociationId field's value.
  26636. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  26637. s.AssociationId = &v
  26638. return s
  26639. }
  26640. type AssociateClientVpnTargetNetworkInput struct {
  26641. _ struct{} `type:"structure"`
  26642. // The ID of the Client VPN endpoint.
  26643. //
  26644. // ClientVpnEndpointId is a required field
  26645. ClientVpnEndpointId *string `type:"string" required:"true"`
  26646. // Checks whether you have the required permissions for the action, without
  26647. // actually making the request, and provides an error response. If you have
  26648. // the required permissions, the error response is DryRunOperation. Otherwise,
  26649. // it is UnauthorizedOperation.
  26650. DryRun *bool `type:"boolean"`
  26651. // The ID of the subnet to associate with the Client VPN endpoint.
  26652. //
  26653. // SubnetId is a required field
  26654. SubnetId *string `type:"string" required:"true"`
  26655. }
  26656. // String returns the string representation
  26657. func (s AssociateClientVpnTargetNetworkInput) String() string {
  26658. return awsutil.Prettify(s)
  26659. }
  26660. // GoString returns the string representation
  26661. func (s AssociateClientVpnTargetNetworkInput) GoString() string {
  26662. return s.String()
  26663. }
  26664. // Validate inspects the fields of the type to determine if they are valid.
  26665. func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
  26666. invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
  26667. if s.ClientVpnEndpointId == nil {
  26668. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  26669. }
  26670. if s.SubnetId == nil {
  26671. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  26672. }
  26673. if invalidParams.Len() > 0 {
  26674. return invalidParams
  26675. }
  26676. return nil
  26677. }
  26678. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  26679. func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
  26680. s.ClientVpnEndpointId = &v
  26681. return s
  26682. }
  26683. // SetDryRun sets the DryRun field's value.
  26684. func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
  26685. s.DryRun = &v
  26686. return s
  26687. }
  26688. // SetSubnetId sets the SubnetId field's value.
  26689. func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
  26690. s.SubnetId = &v
  26691. return s
  26692. }
  26693. type AssociateClientVpnTargetNetworkOutput struct {
  26694. _ struct{} `type:"structure"`
  26695. // The unique ID of the target network association.
  26696. AssociationId *string `locationName:"associationId" type:"string"`
  26697. // The current state of the target network association.
  26698. Status *AssociationStatus `locationName:"status" type:"structure"`
  26699. }
  26700. // String returns the string representation
  26701. func (s AssociateClientVpnTargetNetworkOutput) String() string {
  26702. return awsutil.Prettify(s)
  26703. }
  26704. // GoString returns the string representation
  26705. func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
  26706. return s.String()
  26707. }
  26708. // SetAssociationId sets the AssociationId field's value.
  26709. func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
  26710. s.AssociationId = &v
  26711. return s
  26712. }
  26713. // SetStatus sets the Status field's value.
  26714. func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
  26715. s.Status = v
  26716. return s
  26717. }
  26718. type AssociateDhcpOptionsInput struct {
  26719. _ struct{} `type:"structure"`
  26720. // The ID of the DHCP options set, or default to associate no DHCP options with
  26721. // the VPC.
  26722. //
  26723. // DhcpOptionsId is a required field
  26724. DhcpOptionsId *string `type:"string" required:"true"`
  26725. // Checks whether you have the required permissions for the action, without
  26726. // actually making the request, and provides an error response. If you have
  26727. // the required permissions, the error response is DryRunOperation. Otherwise,
  26728. // it is UnauthorizedOperation.
  26729. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26730. // The ID of the VPC.
  26731. //
  26732. // VpcId is a required field
  26733. VpcId *string `type:"string" required:"true"`
  26734. }
  26735. // String returns the string representation
  26736. func (s AssociateDhcpOptionsInput) String() string {
  26737. return awsutil.Prettify(s)
  26738. }
  26739. // GoString returns the string representation
  26740. func (s AssociateDhcpOptionsInput) GoString() string {
  26741. return s.String()
  26742. }
  26743. // Validate inspects the fields of the type to determine if they are valid.
  26744. func (s *AssociateDhcpOptionsInput) Validate() error {
  26745. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  26746. if s.DhcpOptionsId == nil {
  26747. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  26748. }
  26749. if s.VpcId == nil {
  26750. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26751. }
  26752. if invalidParams.Len() > 0 {
  26753. return invalidParams
  26754. }
  26755. return nil
  26756. }
  26757. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  26758. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  26759. s.DhcpOptionsId = &v
  26760. return s
  26761. }
  26762. // SetDryRun sets the DryRun field's value.
  26763. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  26764. s.DryRun = &v
  26765. return s
  26766. }
  26767. // SetVpcId sets the VpcId field's value.
  26768. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  26769. s.VpcId = &v
  26770. return s
  26771. }
  26772. type AssociateDhcpOptionsOutput struct {
  26773. _ struct{} `type:"structure"`
  26774. }
  26775. // String returns the string representation
  26776. func (s AssociateDhcpOptionsOutput) String() string {
  26777. return awsutil.Prettify(s)
  26778. }
  26779. // GoString returns the string representation
  26780. func (s AssociateDhcpOptionsOutput) GoString() string {
  26781. return s.String()
  26782. }
  26783. type AssociateIamInstanceProfileInput struct {
  26784. _ struct{} `type:"structure"`
  26785. // The IAM instance profile.
  26786. //
  26787. // IamInstanceProfile is a required field
  26788. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  26789. // The ID of the instance.
  26790. //
  26791. // InstanceId is a required field
  26792. InstanceId *string `type:"string" required:"true"`
  26793. }
  26794. // String returns the string representation
  26795. func (s AssociateIamInstanceProfileInput) String() string {
  26796. return awsutil.Prettify(s)
  26797. }
  26798. // GoString returns the string representation
  26799. func (s AssociateIamInstanceProfileInput) GoString() string {
  26800. return s.String()
  26801. }
  26802. // Validate inspects the fields of the type to determine if they are valid.
  26803. func (s *AssociateIamInstanceProfileInput) Validate() error {
  26804. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  26805. if s.IamInstanceProfile == nil {
  26806. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  26807. }
  26808. if s.InstanceId == nil {
  26809. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  26810. }
  26811. if invalidParams.Len() > 0 {
  26812. return invalidParams
  26813. }
  26814. return nil
  26815. }
  26816. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  26817. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  26818. s.IamInstanceProfile = v
  26819. return s
  26820. }
  26821. // SetInstanceId sets the InstanceId field's value.
  26822. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  26823. s.InstanceId = &v
  26824. return s
  26825. }
  26826. type AssociateIamInstanceProfileOutput struct {
  26827. _ struct{} `type:"structure"`
  26828. // Information about the IAM instance profile association.
  26829. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  26830. }
  26831. // String returns the string representation
  26832. func (s AssociateIamInstanceProfileOutput) String() string {
  26833. return awsutil.Prettify(s)
  26834. }
  26835. // GoString returns the string representation
  26836. func (s AssociateIamInstanceProfileOutput) GoString() string {
  26837. return s.String()
  26838. }
  26839. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  26840. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  26841. s.IamInstanceProfileAssociation = v
  26842. return s
  26843. }
  26844. type AssociateRouteTableInput struct {
  26845. _ struct{} `type:"structure"`
  26846. // Checks whether you have the required permissions for the action, without
  26847. // actually making the request, and provides an error response. If you have
  26848. // the required permissions, the error response is DryRunOperation. Otherwise,
  26849. // it is UnauthorizedOperation.
  26850. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26851. // The ID of the route table.
  26852. //
  26853. // RouteTableId is a required field
  26854. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  26855. // The ID of the subnet.
  26856. //
  26857. // SubnetId is a required field
  26858. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  26859. }
  26860. // String returns the string representation
  26861. func (s AssociateRouteTableInput) String() string {
  26862. return awsutil.Prettify(s)
  26863. }
  26864. // GoString returns the string representation
  26865. func (s AssociateRouteTableInput) GoString() string {
  26866. return s.String()
  26867. }
  26868. // Validate inspects the fields of the type to determine if they are valid.
  26869. func (s *AssociateRouteTableInput) Validate() error {
  26870. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  26871. if s.RouteTableId == nil {
  26872. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  26873. }
  26874. if s.SubnetId == nil {
  26875. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  26876. }
  26877. if invalidParams.Len() > 0 {
  26878. return invalidParams
  26879. }
  26880. return nil
  26881. }
  26882. // SetDryRun sets the DryRun field's value.
  26883. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  26884. s.DryRun = &v
  26885. return s
  26886. }
  26887. // SetRouteTableId sets the RouteTableId field's value.
  26888. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  26889. s.RouteTableId = &v
  26890. return s
  26891. }
  26892. // SetSubnetId sets the SubnetId field's value.
  26893. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  26894. s.SubnetId = &v
  26895. return s
  26896. }
  26897. type AssociateRouteTableOutput struct {
  26898. _ struct{} `type:"structure"`
  26899. // The route table association ID. This ID is required for disassociating the
  26900. // route table.
  26901. AssociationId *string `locationName:"associationId" type:"string"`
  26902. }
  26903. // String returns the string representation
  26904. func (s AssociateRouteTableOutput) String() string {
  26905. return awsutil.Prettify(s)
  26906. }
  26907. // GoString returns the string representation
  26908. func (s AssociateRouteTableOutput) GoString() string {
  26909. return s.String()
  26910. }
  26911. // SetAssociationId sets the AssociationId field's value.
  26912. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  26913. s.AssociationId = &v
  26914. return s
  26915. }
  26916. type AssociateSubnetCidrBlockInput struct {
  26917. _ struct{} `type:"structure"`
  26918. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  26919. //
  26920. // Ipv6CidrBlock is a required field
  26921. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  26922. // The ID of your subnet.
  26923. //
  26924. // SubnetId is a required field
  26925. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  26926. }
  26927. // String returns the string representation
  26928. func (s AssociateSubnetCidrBlockInput) String() string {
  26929. return awsutil.Prettify(s)
  26930. }
  26931. // GoString returns the string representation
  26932. func (s AssociateSubnetCidrBlockInput) GoString() string {
  26933. return s.String()
  26934. }
  26935. // Validate inspects the fields of the type to determine if they are valid.
  26936. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  26937. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  26938. if s.Ipv6CidrBlock == nil {
  26939. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  26940. }
  26941. if s.SubnetId == nil {
  26942. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  26943. }
  26944. if invalidParams.Len() > 0 {
  26945. return invalidParams
  26946. }
  26947. return nil
  26948. }
  26949. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  26950. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  26951. s.Ipv6CidrBlock = &v
  26952. return s
  26953. }
  26954. // SetSubnetId sets the SubnetId field's value.
  26955. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  26956. s.SubnetId = &v
  26957. return s
  26958. }
  26959. type AssociateSubnetCidrBlockOutput struct {
  26960. _ struct{} `type:"structure"`
  26961. // Information about the IPv6 CIDR block association.
  26962. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  26963. // The ID of the subnet.
  26964. SubnetId *string `locationName:"subnetId" type:"string"`
  26965. }
  26966. // String returns the string representation
  26967. func (s AssociateSubnetCidrBlockOutput) String() string {
  26968. return awsutil.Prettify(s)
  26969. }
  26970. // GoString returns the string representation
  26971. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  26972. return s.String()
  26973. }
  26974. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  26975. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  26976. s.Ipv6CidrBlockAssociation = v
  26977. return s
  26978. }
  26979. // SetSubnetId sets the SubnetId field's value.
  26980. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  26981. s.SubnetId = &v
  26982. return s
  26983. }
  26984. type AssociateTransitGatewayRouteTableInput struct {
  26985. _ struct{} `type:"structure"`
  26986. // Checks whether you have the required permissions for the action, without
  26987. // actually making the request, and provides an error response. If you have
  26988. // the required permissions, the error response is DryRunOperation. Otherwise,
  26989. // it is UnauthorizedOperation.
  26990. DryRun *bool `type:"boolean"`
  26991. // The ID of the attachment.
  26992. //
  26993. // TransitGatewayAttachmentId is a required field
  26994. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  26995. // The ID of the transit gateway route table.
  26996. //
  26997. // TransitGatewayRouteTableId is a required field
  26998. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  26999. }
  27000. // String returns the string representation
  27001. func (s AssociateTransitGatewayRouteTableInput) String() string {
  27002. return awsutil.Prettify(s)
  27003. }
  27004. // GoString returns the string representation
  27005. func (s AssociateTransitGatewayRouteTableInput) GoString() string {
  27006. return s.String()
  27007. }
  27008. // Validate inspects the fields of the type to determine if they are valid.
  27009. func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
  27010. invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
  27011. if s.TransitGatewayAttachmentId == nil {
  27012. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  27013. }
  27014. if s.TransitGatewayRouteTableId == nil {
  27015. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  27016. }
  27017. if invalidParams.Len() > 0 {
  27018. return invalidParams
  27019. }
  27020. return nil
  27021. }
  27022. // SetDryRun sets the DryRun field's value.
  27023. func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
  27024. s.DryRun = &v
  27025. return s
  27026. }
  27027. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  27028. func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
  27029. s.TransitGatewayAttachmentId = &v
  27030. return s
  27031. }
  27032. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  27033. func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
  27034. s.TransitGatewayRouteTableId = &v
  27035. return s
  27036. }
  27037. type AssociateTransitGatewayRouteTableOutput struct {
  27038. _ struct{} `type:"structure"`
  27039. // The ID of the association.
  27040. Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
  27041. }
  27042. // String returns the string representation
  27043. func (s AssociateTransitGatewayRouteTableOutput) String() string {
  27044. return awsutil.Prettify(s)
  27045. }
  27046. // GoString returns the string representation
  27047. func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
  27048. return s.String()
  27049. }
  27050. // SetAssociation sets the Association field's value.
  27051. func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
  27052. s.Association = v
  27053. return s
  27054. }
  27055. type AssociateVpcCidrBlockInput struct {
  27056. _ struct{} `type:"structure"`
  27057. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  27058. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  27059. // CIDR block.
  27060. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  27061. // An IPv4 CIDR block to associate with the VPC.
  27062. CidrBlock *string `type:"string"`
  27063. // The ID of the VPC.
  27064. //
  27065. // VpcId is a required field
  27066. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  27067. }
  27068. // String returns the string representation
  27069. func (s AssociateVpcCidrBlockInput) String() string {
  27070. return awsutil.Prettify(s)
  27071. }
  27072. // GoString returns the string representation
  27073. func (s AssociateVpcCidrBlockInput) GoString() string {
  27074. return s.String()
  27075. }
  27076. // Validate inspects the fields of the type to determine if they are valid.
  27077. func (s *AssociateVpcCidrBlockInput) Validate() error {
  27078. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  27079. if s.VpcId == nil {
  27080. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27081. }
  27082. if invalidParams.Len() > 0 {
  27083. return invalidParams
  27084. }
  27085. return nil
  27086. }
  27087. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  27088. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  27089. s.AmazonProvidedIpv6CidrBlock = &v
  27090. return s
  27091. }
  27092. // SetCidrBlock sets the CidrBlock field's value.
  27093. func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
  27094. s.CidrBlock = &v
  27095. return s
  27096. }
  27097. // SetVpcId sets the VpcId field's value.
  27098. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  27099. s.VpcId = &v
  27100. return s
  27101. }
  27102. type AssociateVpcCidrBlockOutput struct {
  27103. _ struct{} `type:"structure"`
  27104. // Information about the IPv4 CIDR block association.
  27105. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  27106. // Information about the IPv6 CIDR block association.
  27107. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  27108. // The ID of the VPC.
  27109. VpcId *string `locationName:"vpcId" type:"string"`
  27110. }
  27111. // String returns the string representation
  27112. func (s AssociateVpcCidrBlockOutput) String() string {
  27113. return awsutil.Prettify(s)
  27114. }
  27115. // GoString returns the string representation
  27116. func (s AssociateVpcCidrBlockOutput) GoString() string {
  27117. return s.String()
  27118. }
  27119. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  27120. func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  27121. s.CidrBlockAssociation = v
  27122. return s
  27123. }
  27124. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  27125. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  27126. s.Ipv6CidrBlockAssociation = v
  27127. return s
  27128. }
  27129. // SetVpcId sets the VpcId field's value.
  27130. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  27131. s.VpcId = &v
  27132. return s
  27133. }
  27134. // Describes a target network that is associated with a Client VPN endpoint.
  27135. // A target network is a subnet in a VPC.
  27136. type AssociatedTargetNetwork struct {
  27137. _ struct{} `type:"structure"`
  27138. // The ID of the subnet.
  27139. NetworkId *string `locationName:"networkId" type:"string"`
  27140. // The target network type.
  27141. NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
  27142. }
  27143. // String returns the string representation
  27144. func (s AssociatedTargetNetwork) String() string {
  27145. return awsutil.Prettify(s)
  27146. }
  27147. // GoString returns the string representation
  27148. func (s AssociatedTargetNetwork) GoString() string {
  27149. return s.String()
  27150. }
  27151. // SetNetworkId sets the NetworkId field's value.
  27152. func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
  27153. s.NetworkId = &v
  27154. return s
  27155. }
  27156. // SetNetworkType sets the NetworkType field's value.
  27157. func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
  27158. s.NetworkType = &v
  27159. return s
  27160. }
  27161. // Describes the state of a target network association.
  27162. type AssociationStatus struct {
  27163. _ struct{} `type:"structure"`
  27164. // The state of the target network association.
  27165. Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
  27166. // A message about the status of the target network association, if applicable.
  27167. Message *string `locationName:"message" type:"string"`
  27168. }
  27169. // String returns the string representation
  27170. func (s AssociationStatus) String() string {
  27171. return awsutil.Prettify(s)
  27172. }
  27173. // GoString returns the string representation
  27174. func (s AssociationStatus) GoString() string {
  27175. return s.String()
  27176. }
  27177. // SetCode sets the Code field's value.
  27178. func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
  27179. s.Code = &v
  27180. return s
  27181. }
  27182. // SetMessage sets the Message field's value.
  27183. func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
  27184. s.Message = &v
  27185. return s
  27186. }
  27187. type AttachClassicLinkVpcInput struct {
  27188. _ struct{} `type:"structure"`
  27189. // Checks whether you have the required permissions for the action, without
  27190. // actually making the request, and provides an error response. If you have
  27191. // the required permissions, the error response is DryRunOperation. Otherwise,
  27192. // it is UnauthorizedOperation.
  27193. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27194. // The ID of one or more of the VPC's security groups. You cannot specify security
  27195. // groups from a different VPC.
  27196. //
  27197. // Groups is a required field
  27198. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  27199. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  27200. //
  27201. // InstanceId is a required field
  27202. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  27203. // The ID of a ClassicLink-enabled VPC.
  27204. //
  27205. // VpcId is a required field
  27206. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  27207. }
  27208. // String returns the string representation
  27209. func (s AttachClassicLinkVpcInput) String() string {
  27210. return awsutil.Prettify(s)
  27211. }
  27212. // GoString returns the string representation
  27213. func (s AttachClassicLinkVpcInput) GoString() string {
  27214. return s.String()
  27215. }
  27216. // Validate inspects the fields of the type to determine if they are valid.
  27217. func (s *AttachClassicLinkVpcInput) Validate() error {
  27218. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  27219. if s.Groups == nil {
  27220. invalidParams.Add(request.NewErrParamRequired("Groups"))
  27221. }
  27222. if s.InstanceId == nil {
  27223. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27224. }
  27225. if s.VpcId == nil {
  27226. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27227. }
  27228. if invalidParams.Len() > 0 {
  27229. return invalidParams
  27230. }
  27231. return nil
  27232. }
  27233. // SetDryRun sets the DryRun field's value.
  27234. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  27235. s.DryRun = &v
  27236. return s
  27237. }
  27238. // SetGroups sets the Groups field's value.
  27239. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  27240. s.Groups = v
  27241. return s
  27242. }
  27243. // SetInstanceId sets the InstanceId field's value.
  27244. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  27245. s.InstanceId = &v
  27246. return s
  27247. }
  27248. // SetVpcId sets the VpcId field's value.
  27249. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  27250. s.VpcId = &v
  27251. return s
  27252. }
  27253. type AttachClassicLinkVpcOutput struct {
  27254. _ struct{} `type:"structure"`
  27255. // Returns true if the request succeeds; otherwise, it returns an error.
  27256. Return *bool `locationName:"return" type:"boolean"`
  27257. }
  27258. // String returns the string representation
  27259. func (s AttachClassicLinkVpcOutput) String() string {
  27260. return awsutil.Prettify(s)
  27261. }
  27262. // GoString returns the string representation
  27263. func (s AttachClassicLinkVpcOutput) GoString() string {
  27264. return s.String()
  27265. }
  27266. // SetReturn sets the Return field's value.
  27267. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  27268. s.Return = &v
  27269. return s
  27270. }
  27271. type AttachInternetGatewayInput struct {
  27272. _ struct{} `type:"structure"`
  27273. // Checks whether you have the required permissions for the action, without
  27274. // actually making the request, and provides an error response. If you have
  27275. // the required permissions, the error response is DryRunOperation. Otherwise,
  27276. // it is UnauthorizedOperation.
  27277. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27278. // The ID of the internet gateway.
  27279. //
  27280. // InternetGatewayId is a required field
  27281. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  27282. // The ID of the VPC.
  27283. //
  27284. // VpcId is a required field
  27285. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  27286. }
  27287. // String returns the string representation
  27288. func (s AttachInternetGatewayInput) String() string {
  27289. return awsutil.Prettify(s)
  27290. }
  27291. // GoString returns the string representation
  27292. func (s AttachInternetGatewayInput) GoString() string {
  27293. return s.String()
  27294. }
  27295. // Validate inspects the fields of the type to determine if they are valid.
  27296. func (s *AttachInternetGatewayInput) Validate() error {
  27297. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  27298. if s.InternetGatewayId == nil {
  27299. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  27300. }
  27301. if s.VpcId == nil {
  27302. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27303. }
  27304. if invalidParams.Len() > 0 {
  27305. return invalidParams
  27306. }
  27307. return nil
  27308. }
  27309. // SetDryRun sets the DryRun field's value.
  27310. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  27311. s.DryRun = &v
  27312. return s
  27313. }
  27314. // SetInternetGatewayId sets the InternetGatewayId field's value.
  27315. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  27316. s.InternetGatewayId = &v
  27317. return s
  27318. }
  27319. // SetVpcId sets the VpcId field's value.
  27320. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  27321. s.VpcId = &v
  27322. return s
  27323. }
  27324. type AttachInternetGatewayOutput struct {
  27325. _ struct{} `type:"structure"`
  27326. }
  27327. // String returns the string representation
  27328. func (s AttachInternetGatewayOutput) String() string {
  27329. return awsutil.Prettify(s)
  27330. }
  27331. // GoString returns the string representation
  27332. func (s AttachInternetGatewayOutput) GoString() string {
  27333. return s.String()
  27334. }
  27335. // Contains the parameters for AttachNetworkInterface.
  27336. type AttachNetworkInterfaceInput struct {
  27337. _ struct{} `type:"structure"`
  27338. // The index of the device for the network interface attachment.
  27339. //
  27340. // DeviceIndex is a required field
  27341. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  27342. // Checks whether you have the required permissions for the action, without
  27343. // actually making the request, and provides an error response. If you have
  27344. // the required permissions, the error response is DryRunOperation. Otherwise,
  27345. // it is UnauthorizedOperation.
  27346. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27347. // The ID of the instance.
  27348. //
  27349. // InstanceId is a required field
  27350. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  27351. // The ID of the network interface.
  27352. //
  27353. // NetworkInterfaceId is a required field
  27354. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  27355. }
  27356. // String returns the string representation
  27357. func (s AttachNetworkInterfaceInput) String() string {
  27358. return awsutil.Prettify(s)
  27359. }
  27360. // GoString returns the string representation
  27361. func (s AttachNetworkInterfaceInput) GoString() string {
  27362. return s.String()
  27363. }
  27364. // Validate inspects the fields of the type to determine if they are valid.
  27365. func (s *AttachNetworkInterfaceInput) Validate() error {
  27366. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  27367. if s.DeviceIndex == nil {
  27368. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  27369. }
  27370. if s.InstanceId == nil {
  27371. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27372. }
  27373. if s.NetworkInterfaceId == nil {
  27374. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  27375. }
  27376. if invalidParams.Len() > 0 {
  27377. return invalidParams
  27378. }
  27379. return nil
  27380. }
  27381. // SetDeviceIndex sets the DeviceIndex field's value.
  27382. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  27383. s.DeviceIndex = &v
  27384. return s
  27385. }
  27386. // SetDryRun sets the DryRun field's value.
  27387. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  27388. s.DryRun = &v
  27389. return s
  27390. }
  27391. // SetInstanceId sets the InstanceId field's value.
  27392. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  27393. s.InstanceId = &v
  27394. return s
  27395. }
  27396. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  27397. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  27398. s.NetworkInterfaceId = &v
  27399. return s
  27400. }
  27401. // Contains the output of AttachNetworkInterface.
  27402. type AttachNetworkInterfaceOutput struct {
  27403. _ struct{} `type:"structure"`
  27404. // The ID of the network interface attachment.
  27405. AttachmentId *string `locationName:"attachmentId" type:"string"`
  27406. }
  27407. // String returns the string representation
  27408. func (s AttachNetworkInterfaceOutput) String() string {
  27409. return awsutil.Prettify(s)
  27410. }
  27411. // GoString returns the string representation
  27412. func (s AttachNetworkInterfaceOutput) GoString() string {
  27413. return s.String()
  27414. }
  27415. // SetAttachmentId sets the AttachmentId field's value.
  27416. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  27417. s.AttachmentId = &v
  27418. return s
  27419. }
  27420. // Contains the parameters for AttachVolume.
  27421. type AttachVolumeInput struct {
  27422. _ struct{} `type:"structure"`
  27423. // The device name (for example, /dev/sdh or xvdh).
  27424. //
  27425. // Device is a required field
  27426. Device *string `type:"string" required:"true"`
  27427. // Checks whether you have the required permissions for the action, without
  27428. // actually making the request, and provides an error response. If you have
  27429. // the required permissions, the error response is DryRunOperation. Otherwise,
  27430. // it is UnauthorizedOperation.
  27431. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27432. // The ID of the instance.
  27433. //
  27434. // InstanceId is a required field
  27435. InstanceId *string `type:"string" required:"true"`
  27436. // The ID of the EBS volume. The volume and instance must be within the same
  27437. // Availability Zone.
  27438. //
  27439. // VolumeId is a required field
  27440. VolumeId *string `type:"string" required:"true"`
  27441. }
  27442. // String returns the string representation
  27443. func (s AttachVolumeInput) String() string {
  27444. return awsutil.Prettify(s)
  27445. }
  27446. // GoString returns the string representation
  27447. func (s AttachVolumeInput) GoString() string {
  27448. return s.String()
  27449. }
  27450. // Validate inspects the fields of the type to determine if they are valid.
  27451. func (s *AttachVolumeInput) Validate() error {
  27452. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  27453. if s.Device == nil {
  27454. invalidParams.Add(request.NewErrParamRequired("Device"))
  27455. }
  27456. if s.InstanceId == nil {
  27457. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27458. }
  27459. if s.VolumeId == nil {
  27460. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  27461. }
  27462. if invalidParams.Len() > 0 {
  27463. return invalidParams
  27464. }
  27465. return nil
  27466. }
  27467. // SetDevice sets the Device field's value.
  27468. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  27469. s.Device = &v
  27470. return s
  27471. }
  27472. // SetDryRun sets the DryRun field's value.
  27473. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  27474. s.DryRun = &v
  27475. return s
  27476. }
  27477. // SetInstanceId sets the InstanceId field's value.
  27478. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  27479. s.InstanceId = &v
  27480. return s
  27481. }
  27482. // SetVolumeId sets the VolumeId field's value.
  27483. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  27484. s.VolumeId = &v
  27485. return s
  27486. }
  27487. // Contains the parameters for AttachVpnGateway.
  27488. type AttachVpnGatewayInput struct {
  27489. _ struct{} `type:"structure"`
  27490. // Checks whether you have the required permissions for the action, without
  27491. // actually making the request, and provides an error response. If you have
  27492. // the required permissions, the error response is DryRunOperation. Otherwise,
  27493. // it is UnauthorizedOperation.
  27494. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27495. // The ID of the VPC.
  27496. //
  27497. // VpcId is a required field
  27498. VpcId *string `type:"string" required:"true"`
  27499. // The ID of the virtual private gateway.
  27500. //
  27501. // VpnGatewayId is a required field
  27502. VpnGatewayId *string `type:"string" required:"true"`
  27503. }
  27504. // String returns the string representation
  27505. func (s AttachVpnGatewayInput) String() string {
  27506. return awsutil.Prettify(s)
  27507. }
  27508. // GoString returns the string representation
  27509. func (s AttachVpnGatewayInput) GoString() string {
  27510. return s.String()
  27511. }
  27512. // Validate inspects the fields of the type to determine if they are valid.
  27513. func (s *AttachVpnGatewayInput) Validate() error {
  27514. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  27515. if s.VpcId == nil {
  27516. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27517. }
  27518. if s.VpnGatewayId == nil {
  27519. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  27520. }
  27521. if invalidParams.Len() > 0 {
  27522. return invalidParams
  27523. }
  27524. return nil
  27525. }
  27526. // SetDryRun sets the DryRun field's value.
  27527. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  27528. s.DryRun = &v
  27529. return s
  27530. }
  27531. // SetVpcId sets the VpcId field's value.
  27532. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  27533. s.VpcId = &v
  27534. return s
  27535. }
  27536. // SetVpnGatewayId sets the VpnGatewayId field's value.
  27537. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  27538. s.VpnGatewayId = &v
  27539. return s
  27540. }
  27541. // Contains the output of AttachVpnGateway.
  27542. type AttachVpnGatewayOutput struct {
  27543. _ struct{} `type:"structure"`
  27544. // Information about the attachment.
  27545. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  27546. }
  27547. // String returns the string representation
  27548. func (s AttachVpnGatewayOutput) String() string {
  27549. return awsutil.Prettify(s)
  27550. }
  27551. // GoString returns the string representation
  27552. func (s AttachVpnGatewayOutput) GoString() string {
  27553. return s.String()
  27554. }
  27555. // SetVpcAttachment sets the VpcAttachment field's value.
  27556. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  27557. s.VpcAttachment = v
  27558. return s
  27559. }
  27560. // Describes a value for a resource attribute that is a Boolean value.
  27561. type AttributeBooleanValue struct {
  27562. _ struct{} `type:"structure"`
  27563. // The attribute value. The valid values are true or false.
  27564. Value *bool `locationName:"value" type:"boolean"`
  27565. }
  27566. // String returns the string representation
  27567. func (s AttributeBooleanValue) String() string {
  27568. return awsutil.Prettify(s)
  27569. }
  27570. // GoString returns the string representation
  27571. func (s AttributeBooleanValue) GoString() string {
  27572. return s.String()
  27573. }
  27574. // SetValue sets the Value field's value.
  27575. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  27576. s.Value = &v
  27577. return s
  27578. }
  27579. // Describes a value for a resource attribute that is a String.
  27580. type AttributeValue struct {
  27581. _ struct{} `type:"structure"`
  27582. // The attribute value. The value is case-sensitive.
  27583. Value *string `locationName:"value" type:"string"`
  27584. }
  27585. // String returns the string representation
  27586. func (s AttributeValue) String() string {
  27587. return awsutil.Prettify(s)
  27588. }
  27589. // GoString returns the string representation
  27590. func (s AttributeValue) GoString() string {
  27591. return s.String()
  27592. }
  27593. // SetValue sets the Value field's value.
  27594. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  27595. s.Value = &v
  27596. return s
  27597. }
  27598. // Information about an authorization rule.
  27599. type AuthorizationRule struct {
  27600. _ struct{} `type:"structure"`
  27601. // Indicates whether the authorization rule grants access to all clients.
  27602. AccessAll *bool `locationName:"accessAll" type:"boolean"`
  27603. // The ID of the Client VPN endpoint with which the authorization rule is associated.
  27604. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  27605. // A brief description of the authorization rule.
  27606. Description *string `locationName:"description" type:"string"`
  27607. // The IPv4 address range, in CIDR notation, of the network to which the authorization
  27608. // rule applies.
  27609. DestinationCidr *string `locationName:"destinationCidr" type:"string"`
  27610. // The ID of the Active Directory group to which the authorization rule grants
  27611. // access.
  27612. GroupId *string `locationName:"groupId" type:"string"`
  27613. // The current state of the authorization rule.
  27614. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  27615. }
  27616. // String returns the string representation
  27617. func (s AuthorizationRule) String() string {
  27618. return awsutil.Prettify(s)
  27619. }
  27620. // GoString returns the string representation
  27621. func (s AuthorizationRule) GoString() string {
  27622. return s.String()
  27623. }
  27624. // SetAccessAll sets the AccessAll field's value.
  27625. func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
  27626. s.AccessAll = &v
  27627. return s
  27628. }
  27629. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  27630. func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
  27631. s.ClientVpnEndpointId = &v
  27632. return s
  27633. }
  27634. // SetDescription sets the Description field's value.
  27635. func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
  27636. s.Description = &v
  27637. return s
  27638. }
  27639. // SetDestinationCidr sets the DestinationCidr field's value.
  27640. func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
  27641. s.DestinationCidr = &v
  27642. return s
  27643. }
  27644. // SetGroupId sets the GroupId field's value.
  27645. func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
  27646. s.GroupId = &v
  27647. return s
  27648. }
  27649. // SetStatus sets the Status field's value.
  27650. func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
  27651. s.Status = v
  27652. return s
  27653. }
  27654. type AuthorizeClientVpnIngressInput struct {
  27655. _ struct{} `type:"structure"`
  27656. // The ID of the Active Directory group to grant access.
  27657. AccessGroupId *string `type:"string"`
  27658. // Indicates whether to grant access to all clients. Use true to grant all clients
  27659. // who successfully establish a VPN connection access to the network.
  27660. AuthorizeAllGroups *bool `type:"boolean"`
  27661. // The ID of the Client VPN endpoint.
  27662. //
  27663. // ClientVpnEndpointId is a required field
  27664. ClientVpnEndpointId *string `type:"string" required:"true"`
  27665. // A brief description of the authorization rule.
  27666. Description *string `type:"string"`
  27667. // Checks whether you have the required permissions for the action, without
  27668. // actually making the request, and provides an error response. If you have
  27669. // the required permissions, the error response is DryRunOperation. Otherwise,
  27670. // it is UnauthorizedOperation.
  27671. DryRun *bool `type:"boolean"`
  27672. // The IPv4 address range, in CIDR notation, of the network for which access
  27673. // is being authorized.
  27674. //
  27675. // TargetNetworkCidr is a required field
  27676. TargetNetworkCidr *string `type:"string" required:"true"`
  27677. }
  27678. // String returns the string representation
  27679. func (s AuthorizeClientVpnIngressInput) String() string {
  27680. return awsutil.Prettify(s)
  27681. }
  27682. // GoString returns the string representation
  27683. func (s AuthorizeClientVpnIngressInput) GoString() string {
  27684. return s.String()
  27685. }
  27686. // Validate inspects the fields of the type to determine if they are valid.
  27687. func (s *AuthorizeClientVpnIngressInput) Validate() error {
  27688. invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
  27689. if s.ClientVpnEndpointId == nil {
  27690. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  27691. }
  27692. if s.TargetNetworkCidr == nil {
  27693. invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
  27694. }
  27695. if invalidParams.Len() > 0 {
  27696. return invalidParams
  27697. }
  27698. return nil
  27699. }
  27700. // SetAccessGroupId sets the AccessGroupId field's value.
  27701. func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
  27702. s.AccessGroupId = &v
  27703. return s
  27704. }
  27705. // SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
  27706. func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
  27707. s.AuthorizeAllGroups = &v
  27708. return s
  27709. }
  27710. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  27711. func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
  27712. s.ClientVpnEndpointId = &v
  27713. return s
  27714. }
  27715. // SetDescription sets the Description field's value.
  27716. func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
  27717. s.Description = &v
  27718. return s
  27719. }
  27720. // SetDryRun sets the DryRun field's value.
  27721. func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
  27722. s.DryRun = &v
  27723. return s
  27724. }
  27725. // SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
  27726. func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
  27727. s.TargetNetworkCidr = &v
  27728. return s
  27729. }
  27730. type AuthorizeClientVpnIngressOutput struct {
  27731. _ struct{} `type:"structure"`
  27732. // The current state of the authorization rule.
  27733. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  27734. }
  27735. // String returns the string representation
  27736. func (s AuthorizeClientVpnIngressOutput) String() string {
  27737. return awsutil.Prettify(s)
  27738. }
  27739. // GoString returns the string representation
  27740. func (s AuthorizeClientVpnIngressOutput) GoString() string {
  27741. return s.String()
  27742. }
  27743. // SetStatus sets the Status field's value.
  27744. func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
  27745. s.Status = v
  27746. return s
  27747. }
  27748. type AuthorizeSecurityGroupEgressInput struct {
  27749. _ struct{} `type:"structure"`
  27750. // Not supported. Use a set of IP permissions to specify the CIDR.
  27751. CidrIp *string `locationName:"cidrIp" type:"string"`
  27752. // Checks whether you have the required permissions for the action, without
  27753. // actually making the request, and provides an error response. If you have
  27754. // the required permissions, the error response is DryRunOperation. Otherwise,
  27755. // it is UnauthorizedOperation.
  27756. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27757. // Not supported. Use a set of IP permissions to specify the port.
  27758. FromPort *int64 `locationName:"fromPort" type:"integer"`
  27759. // The ID of the security group.
  27760. //
  27761. // GroupId is a required field
  27762. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  27763. // One or more sets of IP permissions. You can't specify a destination security
  27764. // group and a CIDR IP address range in the same set of permissions.
  27765. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  27766. // Not supported. Use a set of IP permissions to specify the protocol name or
  27767. // number.
  27768. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  27769. // Not supported. Use a set of IP permissions to specify a destination security
  27770. // group.
  27771. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  27772. // Not supported. Use a set of IP permissions to specify a destination security
  27773. // group.
  27774. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  27775. // Not supported. Use a set of IP permissions to specify the port.
  27776. ToPort *int64 `locationName:"toPort" type:"integer"`
  27777. }
  27778. // String returns the string representation
  27779. func (s AuthorizeSecurityGroupEgressInput) String() string {
  27780. return awsutil.Prettify(s)
  27781. }
  27782. // GoString returns the string representation
  27783. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  27784. return s.String()
  27785. }
  27786. // Validate inspects the fields of the type to determine if they are valid.
  27787. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  27788. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  27789. if s.GroupId == nil {
  27790. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  27791. }
  27792. if invalidParams.Len() > 0 {
  27793. return invalidParams
  27794. }
  27795. return nil
  27796. }
  27797. // SetCidrIp sets the CidrIp field's value.
  27798. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  27799. s.CidrIp = &v
  27800. return s
  27801. }
  27802. // SetDryRun sets the DryRun field's value.
  27803. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  27804. s.DryRun = &v
  27805. return s
  27806. }
  27807. // SetFromPort sets the FromPort field's value.
  27808. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  27809. s.FromPort = &v
  27810. return s
  27811. }
  27812. // SetGroupId sets the GroupId field's value.
  27813. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  27814. s.GroupId = &v
  27815. return s
  27816. }
  27817. // SetIpPermissions sets the IpPermissions field's value.
  27818. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  27819. s.IpPermissions = v
  27820. return s
  27821. }
  27822. // SetIpProtocol sets the IpProtocol field's value.
  27823. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  27824. s.IpProtocol = &v
  27825. return s
  27826. }
  27827. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  27828. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  27829. s.SourceSecurityGroupName = &v
  27830. return s
  27831. }
  27832. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  27833. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  27834. s.SourceSecurityGroupOwnerId = &v
  27835. return s
  27836. }
  27837. // SetToPort sets the ToPort field's value.
  27838. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  27839. s.ToPort = &v
  27840. return s
  27841. }
  27842. type AuthorizeSecurityGroupEgressOutput struct {
  27843. _ struct{} `type:"structure"`
  27844. }
  27845. // String returns the string representation
  27846. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  27847. return awsutil.Prettify(s)
  27848. }
  27849. // GoString returns the string representation
  27850. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  27851. return s.String()
  27852. }
  27853. type AuthorizeSecurityGroupIngressInput struct {
  27854. _ struct{} `type:"structure"`
  27855. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  27856. // a source security group.
  27857. CidrIp *string `type:"string"`
  27858. // Checks whether you have the required permissions for the action, without
  27859. // actually making the request, and provides an error response. If you have
  27860. // the required permissions, the error response is DryRunOperation. Otherwise,
  27861. // it is UnauthorizedOperation.
  27862. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27863. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  27864. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  27865. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  27866. FromPort *int64 `type:"integer"`
  27867. // The ID of the security group. You must specify either the security group
  27868. // ID or the security group name in the request. For security groups in a nondefault
  27869. // VPC, you must specify the security group ID.
  27870. GroupId *string `type:"string"`
  27871. // [EC2-Classic, default VPC] The name of the security group. You must specify
  27872. // either the security group ID or the security group name in the request.
  27873. GroupName *string `type:"string"`
  27874. // One or more sets of IP permissions. Can be used to specify multiple rules
  27875. // in a single command.
  27876. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  27877. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  27878. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  27879. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  27880. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  27881. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  27882. // a port range; if you don't, traffic for all types and codes is allowed.
  27883. IpProtocol *string `type:"string"`
  27884. // [EC2-Classic, default VPC] The name of the source security group. You can't
  27885. // specify this parameter in combination with the following parameters: the
  27886. // CIDR IP address range, the start of the port range, the IP protocol, and
  27887. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  27888. // access. To create a rule with a specific IP protocol and port range, use
  27889. // a set of IP permissions instead. For EC2-VPC, the source security group must
  27890. // be in the same VPC.
  27891. SourceSecurityGroupName *string `type:"string"`
  27892. // [nondefault VPC] The AWS account ID for the source security group, if the
  27893. // source security group is in a different account. You can't specify this parameter
  27894. // in combination with the following parameters: the CIDR IP address range,
  27895. // the IP protocol, the start of the port range, and the end of the port range.
  27896. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  27897. // with a specific IP protocol and port range, use a set of IP permissions instead.
  27898. SourceSecurityGroupOwnerId *string `type:"string"`
  27899. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  27900. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If
  27901. // you specify all ICMP/ICMPv6 types, you must specify all codes.
  27902. ToPort *int64 `type:"integer"`
  27903. }
  27904. // String returns the string representation
  27905. func (s AuthorizeSecurityGroupIngressInput) String() string {
  27906. return awsutil.Prettify(s)
  27907. }
  27908. // GoString returns the string representation
  27909. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  27910. return s.String()
  27911. }
  27912. // SetCidrIp sets the CidrIp field's value.
  27913. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  27914. s.CidrIp = &v
  27915. return s
  27916. }
  27917. // SetDryRun sets the DryRun field's value.
  27918. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  27919. s.DryRun = &v
  27920. return s
  27921. }
  27922. // SetFromPort sets the FromPort field's value.
  27923. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  27924. s.FromPort = &v
  27925. return s
  27926. }
  27927. // SetGroupId sets the GroupId field's value.
  27928. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  27929. s.GroupId = &v
  27930. return s
  27931. }
  27932. // SetGroupName sets the GroupName field's value.
  27933. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  27934. s.GroupName = &v
  27935. return s
  27936. }
  27937. // SetIpPermissions sets the IpPermissions field's value.
  27938. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  27939. s.IpPermissions = v
  27940. return s
  27941. }
  27942. // SetIpProtocol sets the IpProtocol field's value.
  27943. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  27944. s.IpProtocol = &v
  27945. return s
  27946. }
  27947. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  27948. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  27949. s.SourceSecurityGroupName = &v
  27950. return s
  27951. }
  27952. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  27953. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  27954. s.SourceSecurityGroupOwnerId = &v
  27955. return s
  27956. }
  27957. // SetToPort sets the ToPort field's value.
  27958. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  27959. s.ToPort = &v
  27960. return s
  27961. }
  27962. type AuthorizeSecurityGroupIngressOutput struct {
  27963. _ struct{} `type:"structure"`
  27964. }
  27965. // String returns the string representation
  27966. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  27967. return awsutil.Prettify(s)
  27968. }
  27969. // GoString returns the string representation
  27970. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  27971. return s.String()
  27972. }
  27973. // Describes an Availability Zone.
  27974. type AvailabilityZone struct {
  27975. _ struct{} `type:"structure"`
  27976. // Any messages about the Availability Zone.
  27977. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  27978. // The name of the region.
  27979. RegionName *string `locationName:"regionName" type:"string"`
  27980. // The state of the Availability Zone.
  27981. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  27982. // The ID of the Availability Zone.
  27983. ZoneId *string `locationName:"zoneId" type:"string"`
  27984. // The name of the Availability Zone.
  27985. ZoneName *string `locationName:"zoneName" type:"string"`
  27986. }
  27987. // String returns the string representation
  27988. func (s AvailabilityZone) String() string {
  27989. return awsutil.Prettify(s)
  27990. }
  27991. // GoString returns the string representation
  27992. func (s AvailabilityZone) GoString() string {
  27993. return s.String()
  27994. }
  27995. // SetMessages sets the Messages field's value.
  27996. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  27997. s.Messages = v
  27998. return s
  27999. }
  28000. // SetRegionName sets the RegionName field's value.
  28001. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  28002. s.RegionName = &v
  28003. return s
  28004. }
  28005. // SetState sets the State field's value.
  28006. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  28007. s.State = &v
  28008. return s
  28009. }
  28010. // SetZoneId sets the ZoneId field's value.
  28011. func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
  28012. s.ZoneId = &v
  28013. return s
  28014. }
  28015. // SetZoneName sets the ZoneName field's value.
  28016. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  28017. s.ZoneName = &v
  28018. return s
  28019. }
  28020. // Describes a message about an Availability Zone.
  28021. type AvailabilityZoneMessage struct {
  28022. _ struct{} `type:"structure"`
  28023. // The message about the Availability Zone.
  28024. Message *string `locationName:"message" type:"string"`
  28025. }
  28026. // String returns the string representation
  28027. func (s AvailabilityZoneMessage) String() string {
  28028. return awsutil.Prettify(s)
  28029. }
  28030. // GoString returns the string representation
  28031. func (s AvailabilityZoneMessage) GoString() string {
  28032. return s.String()
  28033. }
  28034. // SetMessage sets the Message field's value.
  28035. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  28036. s.Message = &v
  28037. return s
  28038. }
  28039. // The capacity information for instances launched onto the Dedicated Host.
  28040. type AvailableCapacity struct {
  28041. _ struct{} `type:"structure"`
  28042. // The total number of instances supported by the Dedicated Host.
  28043. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  28044. // The number of vCPUs available on the Dedicated Host.
  28045. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  28046. }
  28047. // String returns the string representation
  28048. func (s AvailableCapacity) String() string {
  28049. return awsutil.Prettify(s)
  28050. }
  28051. // GoString returns the string representation
  28052. func (s AvailableCapacity) GoString() string {
  28053. return s.String()
  28054. }
  28055. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  28056. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  28057. s.AvailableInstanceCapacity = v
  28058. return s
  28059. }
  28060. // SetAvailableVCpus sets the AvailableVCpus field's value.
  28061. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  28062. s.AvailableVCpus = &v
  28063. return s
  28064. }
  28065. type BlobAttributeValue struct {
  28066. _ struct{} `type:"structure"`
  28067. // Value is automatically base64 encoded/decoded by the SDK.
  28068. Value []byte `locationName:"value" type:"blob"`
  28069. }
  28070. // String returns the string representation
  28071. func (s BlobAttributeValue) String() string {
  28072. return awsutil.Prettify(s)
  28073. }
  28074. // GoString returns the string representation
  28075. func (s BlobAttributeValue) GoString() string {
  28076. return s.String()
  28077. }
  28078. // SetValue sets the Value field's value.
  28079. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  28080. s.Value = v
  28081. return s
  28082. }
  28083. // Describes a block device mapping.
  28084. type BlockDeviceMapping struct {
  28085. _ struct{} `type:"structure"`
  28086. // The device name (for example, /dev/sdh or xvdh).
  28087. DeviceName *string `locationName:"deviceName" type:"string"`
  28088. // Parameters used to automatically set up EBS volumes when the instance is
  28089. // launched.
  28090. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  28091. // Suppresses the specified device included in the block device mapping of the
  28092. // AMI.
  28093. NoDevice *string `locationName:"noDevice" type:"string"`
  28094. // The virtual device name (ephemeralN). Instance store volumes are numbered
  28095. // starting from 0. An instance type with 2 available instance store volumes
  28096. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  28097. // instance store volumes depends on the instance type. After you connect to
  28098. // the instance, you must mount the volume.
  28099. //
  28100. // NVMe instance store volumes are automatically enumerated and assigned a device
  28101. // name. Including them in your block device mapping has no effect.
  28102. //
  28103. // Constraints: For M3 instances, you must specify instance store volumes in
  28104. // the block device mapping for the instance. When you launch an M3 instance,
  28105. // we ignore any instance store volumes specified in the block device mapping
  28106. // for the AMI.
  28107. VirtualName *string `locationName:"virtualName" type:"string"`
  28108. }
  28109. // String returns the string representation
  28110. func (s BlockDeviceMapping) String() string {
  28111. return awsutil.Prettify(s)
  28112. }
  28113. // GoString returns the string representation
  28114. func (s BlockDeviceMapping) GoString() string {
  28115. return s.String()
  28116. }
  28117. // SetDeviceName sets the DeviceName field's value.
  28118. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  28119. s.DeviceName = &v
  28120. return s
  28121. }
  28122. // SetEbs sets the Ebs field's value.
  28123. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  28124. s.Ebs = v
  28125. return s
  28126. }
  28127. // SetNoDevice sets the NoDevice field's value.
  28128. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  28129. s.NoDevice = &v
  28130. return s
  28131. }
  28132. // SetVirtualName sets the VirtualName field's value.
  28133. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  28134. s.VirtualName = &v
  28135. return s
  28136. }
  28137. // Contains the parameters for BundleInstance.
  28138. type BundleInstanceInput struct {
  28139. _ struct{} `type:"structure"`
  28140. // Checks whether you have the required permissions for the action, without
  28141. // actually making the request, and provides an error response. If you have
  28142. // the required permissions, the error response is DryRunOperation. Otherwise,
  28143. // it is UnauthorizedOperation.
  28144. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28145. // The ID of the instance to bundle.
  28146. //
  28147. // Type: String
  28148. //
  28149. // Default: None
  28150. //
  28151. // Required: Yes
  28152. //
  28153. // InstanceId is a required field
  28154. InstanceId *string `type:"string" required:"true"`
  28155. // The bucket in which to store the AMI. You can specify a bucket that you already
  28156. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  28157. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  28158. //
  28159. // Storage is a required field
  28160. Storage *Storage `type:"structure" required:"true"`
  28161. }
  28162. // String returns the string representation
  28163. func (s BundleInstanceInput) String() string {
  28164. return awsutil.Prettify(s)
  28165. }
  28166. // GoString returns the string representation
  28167. func (s BundleInstanceInput) GoString() string {
  28168. return s.String()
  28169. }
  28170. // Validate inspects the fields of the type to determine if they are valid.
  28171. func (s *BundleInstanceInput) Validate() error {
  28172. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  28173. if s.InstanceId == nil {
  28174. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  28175. }
  28176. if s.Storage == nil {
  28177. invalidParams.Add(request.NewErrParamRequired("Storage"))
  28178. }
  28179. if invalidParams.Len() > 0 {
  28180. return invalidParams
  28181. }
  28182. return nil
  28183. }
  28184. // SetDryRun sets the DryRun field's value.
  28185. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  28186. s.DryRun = &v
  28187. return s
  28188. }
  28189. // SetInstanceId sets the InstanceId field's value.
  28190. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  28191. s.InstanceId = &v
  28192. return s
  28193. }
  28194. // SetStorage sets the Storage field's value.
  28195. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  28196. s.Storage = v
  28197. return s
  28198. }
  28199. // Contains the output of BundleInstance.
  28200. type BundleInstanceOutput struct {
  28201. _ struct{} `type:"structure"`
  28202. // Information about the bundle task.
  28203. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  28204. }
  28205. // String returns the string representation
  28206. func (s BundleInstanceOutput) String() string {
  28207. return awsutil.Prettify(s)
  28208. }
  28209. // GoString returns the string representation
  28210. func (s BundleInstanceOutput) GoString() string {
  28211. return s.String()
  28212. }
  28213. // SetBundleTask sets the BundleTask field's value.
  28214. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  28215. s.BundleTask = v
  28216. return s
  28217. }
  28218. // Describes a bundle task.
  28219. type BundleTask struct {
  28220. _ struct{} `type:"structure"`
  28221. // The ID of the bundle task.
  28222. BundleId *string `locationName:"bundleId" type:"string"`
  28223. // If the task fails, a description of the error.
  28224. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  28225. // The ID of the instance associated with this bundle task.
  28226. InstanceId *string `locationName:"instanceId" type:"string"`
  28227. // The level of task completion, as a percent (for example, 20%).
  28228. Progress *string `locationName:"progress" type:"string"`
  28229. // The time this task started.
  28230. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  28231. // The state of the task.
  28232. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  28233. // The Amazon S3 storage locations.
  28234. Storage *Storage `locationName:"storage" type:"structure"`
  28235. // The time of the most recent update for the task.
  28236. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  28237. }
  28238. // String returns the string representation
  28239. func (s BundleTask) String() string {
  28240. return awsutil.Prettify(s)
  28241. }
  28242. // GoString returns the string representation
  28243. func (s BundleTask) GoString() string {
  28244. return s.String()
  28245. }
  28246. // SetBundleId sets the BundleId field's value.
  28247. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  28248. s.BundleId = &v
  28249. return s
  28250. }
  28251. // SetBundleTaskError sets the BundleTaskError field's value.
  28252. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  28253. s.BundleTaskError = v
  28254. return s
  28255. }
  28256. // SetInstanceId sets the InstanceId field's value.
  28257. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  28258. s.InstanceId = &v
  28259. return s
  28260. }
  28261. // SetProgress sets the Progress field's value.
  28262. func (s *BundleTask) SetProgress(v string) *BundleTask {
  28263. s.Progress = &v
  28264. return s
  28265. }
  28266. // SetStartTime sets the StartTime field's value.
  28267. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  28268. s.StartTime = &v
  28269. return s
  28270. }
  28271. // SetState sets the State field's value.
  28272. func (s *BundleTask) SetState(v string) *BundleTask {
  28273. s.State = &v
  28274. return s
  28275. }
  28276. // SetStorage sets the Storage field's value.
  28277. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  28278. s.Storage = v
  28279. return s
  28280. }
  28281. // SetUpdateTime sets the UpdateTime field's value.
  28282. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  28283. s.UpdateTime = &v
  28284. return s
  28285. }
  28286. // Describes an error for BundleInstance.
  28287. type BundleTaskError struct {
  28288. _ struct{} `type:"structure"`
  28289. // The error code.
  28290. Code *string `locationName:"code" type:"string"`
  28291. // The error message.
  28292. Message *string `locationName:"message" type:"string"`
  28293. }
  28294. // String returns the string representation
  28295. func (s BundleTaskError) String() string {
  28296. return awsutil.Prettify(s)
  28297. }
  28298. // GoString returns the string representation
  28299. func (s BundleTaskError) GoString() string {
  28300. return s.String()
  28301. }
  28302. // SetCode sets the Code field's value.
  28303. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  28304. s.Code = &v
  28305. return s
  28306. }
  28307. // SetMessage sets the Message field's value.
  28308. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  28309. s.Message = &v
  28310. return s
  28311. }
  28312. // Information about an address range that is provisioned for use with your
  28313. // AWS resources through bring your own IP addresses (BYOIP).
  28314. type ByoipCidr struct {
  28315. _ struct{} `type:"structure"`
  28316. // The public IPv4 address range, in CIDR notation.
  28317. Cidr *string `locationName:"cidr" type:"string"`
  28318. // The description of the address range.
  28319. Description *string `locationName:"description" type:"string"`
  28320. // The state of the address pool.
  28321. State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
  28322. // Upon success, contains the ID of the address pool. Otherwise, contains an
  28323. // error message.
  28324. StatusMessage *string `locationName:"statusMessage" type:"string"`
  28325. }
  28326. // String returns the string representation
  28327. func (s ByoipCidr) String() string {
  28328. return awsutil.Prettify(s)
  28329. }
  28330. // GoString returns the string representation
  28331. func (s ByoipCidr) GoString() string {
  28332. return s.String()
  28333. }
  28334. // SetCidr sets the Cidr field's value.
  28335. func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
  28336. s.Cidr = &v
  28337. return s
  28338. }
  28339. // SetDescription sets the Description field's value.
  28340. func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
  28341. s.Description = &v
  28342. return s
  28343. }
  28344. // SetState sets the State field's value.
  28345. func (s *ByoipCidr) SetState(v string) *ByoipCidr {
  28346. s.State = &v
  28347. return s
  28348. }
  28349. // SetStatusMessage sets the StatusMessage field's value.
  28350. func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
  28351. s.StatusMessage = &v
  28352. return s
  28353. }
  28354. // Contains the parameters for CancelBundleTask.
  28355. type CancelBundleTaskInput struct {
  28356. _ struct{} `type:"structure"`
  28357. // The ID of the bundle task.
  28358. //
  28359. // BundleId is a required field
  28360. BundleId *string `type:"string" required:"true"`
  28361. // Checks whether you have the required permissions for the action, without
  28362. // actually making the request, and provides an error response. If you have
  28363. // the required permissions, the error response is DryRunOperation. Otherwise,
  28364. // it is UnauthorizedOperation.
  28365. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28366. }
  28367. // String returns the string representation
  28368. func (s CancelBundleTaskInput) String() string {
  28369. return awsutil.Prettify(s)
  28370. }
  28371. // GoString returns the string representation
  28372. func (s CancelBundleTaskInput) GoString() string {
  28373. return s.String()
  28374. }
  28375. // Validate inspects the fields of the type to determine if they are valid.
  28376. func (s *CancelBundleTaskInput) Validate() error {
  28377. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  28378. if s.BundleId == nil {
  28379. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  28380. }
  28381. if invalidParams.Len() > 0 {
  28382. return invalidParams
  28383. }
  28384. return nil
  28385. }
  28386. // SetBundleId sets the BundleId field's value.
  28387. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  28388. s.BundleId = &v
  28389. return s
  28390. }
  28391. // SetDryRun sets the DryRun field's value.
  28392. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  28393. s.DryRun = &v
  28394. return s
  28395. }
  28396. // Contains the output of CancelBundleTask.
  28397. type CancelBundleTaskOutput struct {
  28398. _ struct{} `type:"structure"`
  28399. // Information about the bundle task.
  28400. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  28401. }
  28402. // String returns the string representation
  28403. func (s CancelBundleTaskOutput) String() string {
  28404. return awsutil.Prettify(s)
  28405. }
  28406. // GoString returns the string representation
  28407. func (s CancelBundleTaskOutput) GoString() string {
  28408. return s.String()
  28409. }
  28410. // SetBundleTask sets the BundleTask field's value.
  28411. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  28412. s.BundleTask = v
  28413. return s
  28414. }
  28415. type CancelCapacityReservationInput struct {
  28416. _ struct{} `type:"structure"`
  28417. // The ID of the Capacity Reservation to be cancelled.
  28418. //
  28419. // CapacityReservationId is a required field
  28420. CapacityReservationId *string `type:"string" required:"true"`
  28421. // Checks whether you have the required permissions for the action, without
  28422. // actually making the request, and provides an error response. If you have
  28423. // the required permissions, the error response is DryRunOperation. Otherwise,
  28424. // it is UnauthorizedOperation.
  28425. DryRun *bool `type:"boolean"`
  28426. }
  28427. // String returns the string representation
  28428. func (s CancelCapacityReservationInput) String() string {
  28429. return awsutil.Prettify(s)
  28430. }
  28431. // GoString returns the string representation
  28432. func (s CancelCapacityReservationInput) GoString() string {
  28433. return s.String()
  28434. }
  28435. // Validate inspects the fields of the type to determine if they are valid.
  28436. func (s *CancelCapacityReservationInput) Validate() error {
  28437. invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
  28438. if s.CapacityReservationId == nil {
  28439. invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
  28440. }
  28441. if invalidParams.Len() > 0 {
  28442. return invalidParams
  28443. }
  28444. return nil
  28445. }
  28446. // SetCapacityReservationId sets the CapacityReservationId field's value.
  28447. func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
  28448. s.CapacityReservationId = &v
  28449. return s
  28450. }
  28451. // SetDryRun sets the DryRun field's value.
  28452. func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
  28453. s.DryRun = &v
  28454. return s
  28455. }
  28456. type CancelCapacityReservationOutput struct {
  28457. _ struct{} `type:"structure"`
  28458. // Returns true if the request succeeds; otherwise, it returns an error.
  28459. Return *bool `locationName:"return" type:"boolean"`
  28460. }
  28461. // String returns the string representation
  28462. func (s CancelCapacityReservationOutput) String() string {
  28463. return awsutil.Prettify(s)
  28464. }
  28465. // GoString returns the string representation
  28466. func (s CancelCapacityReservationOutput) GoString() string {
  28467. return s.String()
  28468. }
  28469. // SetReturn sets the Return field's value.
  28470. func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
  28471. s.Return = &v
  28472. return s
  28473. }
  28474. // Contains the parameters for CancelConversionTask.
  28475. type CancelConversionTaskInput struct {
  28476. _ struct{} `type:"structure"`
  28477. // The ID of the conversion task.
  28478. //
  28479. // ConversionTaskId is a required field
  28480. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  28481. // Checks whether you have the required permissions for the action, without
  28482. // actually making the request, and provides an error response. If you have
  28483. // the required permissions, the error response is DryRunOperation. Otherwise,
  28484. // it is UnauthorizedOperation.
  28485. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28486. // The reason for canceling the conversion task.
  28487. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  28488. }
  28489. // String returns the string representation
  28490. func (s CancelConversionTaskInput) String() string {
  28491. return awsutil.Prettify(s)
  28492. }
  28493. // GoString returns the string representation
  28494. func (s CancelConversionTaskInput) GoString() string {
  28495. return s.String()
  28496. }
  28497. // Validate inspects the fields of the type to determine if they are valid.
  28498. func (s *CancelConversionTaskInput) Validate() error {
  28499. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  28500. if s.ConversionTaskId == nil {
  28501. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  28502. }
  28503. if invalidParams.Len() > 0 {
  28504. return invalidParams
  28505. }
  28506. return nil
  28507. }
  28508. // SetConversionTaskId sets the ConversionTaskId field's value.
  28509. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  28510. s.ConversionTaskId = &v
  28511. return s
  28512. }
  28513. // SetDryRun sets the DryRun field's value.
  28514. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  28515. s.DryRun = &v
  28516. return s
  28517. }
  28518. // SetReasonMessage sets the ReasonMessage field's value.
  28519. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  28520. s.ReasonMessage = &v
  28521. return s
  28522. }
  28523. type CancelConversionTaskOutput struct {
  28524. _ struct{} `type:"structure"`
  28525. }
  28526. // String returns the string representation
  28527. func (s CancelConversionTaskOutput) String() string {
  28528. return awsutil.Prettify(s)
  28529. }
  28530. // GoString returns the string representation
  28531. func (s CancelConversionTaskOutput) GoString() string {
  28532. return s.String()
  28533. }
  28534. // Contains the parameters for CancelExportTask.
  28535. type CancelExportTaskInput struct {
  28536. _ struct{} `type:"structure"`
  28537. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  28538. //
  28539. // ExportTaskId is a required field
  28540. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  28541. }
  28542. // String returns the string representation
  28543. func (s CancelExportTaskInput) String() string {
  28544. return awsutil.Prettify(s)
  28545. }
  28546. // GoString returns the string representation
  28547. func (s CancelExportTaskInput) GoString() string {
  28548. return s.String()
  28549. }
  28550. // Validate inspects the fields of the type to determine if they are valid.
  28551. func (s *CancelExportTaskInput) Validate() error {
  28552. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  28553. if s.ExportTaskId == nil {
  28554. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  28555. }
  28556. if invalidParams.Len() > 0 {
  28557. return invalidParams
  28558. }
  28559. return nil
  28560. }
  28561. // SetExportTaskId sets the ExportTaskId field's value.
  28562. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  28563. s.ExportTaskId = &v
  28564. return s
  28565. }
  28566. type CancelExportTaskOutput struct {
  28567. _ struct{} `type:"structure"`
  28568. }
  28569. // String returns the string representation
  28570. func (s CancelExportTaskOutput) String() string {
  28571. return awsutil.Prettify(s)
  28572. }
  28573. // GoString returns the string representation
  28574. func (s CancelExportTaskOutput) GoString() string {
  28575. return s.String()
  28576. }
  28577. // Contains the parameters for CancelImportTask.
  28578. type CancelImportTaskInput struct {
  28579. _ struct{} `type:"structure"`
  28580. // The reason for canceling the task.
  28581. CancelReason *string `type:"string"`
  28582. // Checks whether you have the required permissions for the action, without
  28583. // actually making the request, and provides an error response. If you have
  28584. // the required permissions, the error response is DryRunOperation. Otherwise,
  28585. // it is UnauthorizedOperation.
  28586. DryRun *bool `type:"boolean"`
  28587. // The ID of the import image or import snapshot task to be canceled.
  28588. ImportTaskId *string `type:"string"`
  28589. }
  28590. // String returns the string representation
  28591. func (s CancelImportTaskInput) String() string {
  28592. return awsutil.Prettify(s)
  28593. }
  28594. // GoString returns the string representation
  28595. func (s CancelImportTaskInput) GoString() string {
  28596. return s.String()
  28597. }
  28598. // SetCancelReason sets the CancelReason field's value.
  28599. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  28600. s.CancelReason = &v
  28601. return s
  28602. }
  28603. // SetDryRun sets the DryRun field's value.
  28604. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  28605. s.DryRun = &v
  28606. return s
  28607. }
  28608. // SetImportTaskId sets the ImportTaskId field's value.
  28609. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  28610. s.ImportTaskId = &v
  28611. return s
  28612. }
  28613. // Contains the output for CancelImportTask.
  28614. type CancelImportTaskOutput struct {
  28615. _ struct{} `type:"structure"`
  28616. // The ID of the task being canceled.
  28617. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  28618. // The current state of the task being canceled.
  28619. PreviousState *string `locationName:"previousState" type:"string"`
  28620. // The current state of the task being canceled.
  28621. State *string `locationName:"state" type:"string"`
  28622. }
  28623. // String returns the string representation
  28624. func (s CancelImportTaskOutput) String() string {
  28625. return awsutil.Prettify(s)
  28626. }
  28627. // GoString returns the string representation
  28628. func (s CancelImportTaskOutput) GoString() string {
  28629. return s.String()
  28630. }
  28631. // SetImportTaskId sets the ImportTaskId field's value.
  28632. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  28633. s.ImportTaskId = &v
  28634. return s
  28635. }
  28636. // SetPreviousState sets the PreviousState field's value.
  28637. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  28638. s.PreviousState = &v
  28639. return s
  28640. }
  28641. // SetState sets the State field's value.
  28642. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  28643. s.State = &v
  28644. return s
  28645. }
  28646. // Contains the parameters for CancelReservedInstancesListing.
  28647. type CancelReservedInstancesListingInput struct {
  28648. _ struct{} `type:"structure"`
  28649. // The ID of the Reserved Instance listing.
  28650. //
  28651. // ReservedInstancesListingId is a required field
  28652. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  28653. }
  28654. // String returns the string representation
  28655. func (s CancelReservedInstancesListingInput) String() string {
  28656. return awsutil.Prettify(s)
  28657. }
  28658. // GoString returns the string representation
  28659. func (s CancelReservedInstancesListingInput) GoString() string {
  28660. return s.String()
  28661. }
  28662. // Validate inspects the fields of the type to determine if they are valid.
  28663. func (s *CancelReservedInstancesListingInput) Validate() error {
  28664. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  28665. if s.ReservedInstancesListingId == nil {
  28666. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  28667. }
  28668. if invalidParams.Len() > 0 {
  28669. return invalidParams
  28670. }
  28671. return nil
  28672. }
  28673. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  28674. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  28675. s.ReservedInstancesListingId = &v
  28676. return s
  28677. }
  28678. // Contains the output of CancelReservedInstancesListing.
  28679. type CancelReservedInstancesListingOutput struct {
  28680. _ struct{} `type:"structure"`
  28681. // The Reserved Instance listing.
  28682. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  28683. }
  28684. // String returns the string representation
  28685. func (s CancelReservedInstancesListingOutput) String() string {
  28686. return awsutil.Prettify(s)
  28687. }
  28688. // GoString returns the string representation
  28689. func (s CancelReservedInstancesListingOutput) GoString() string {
  28690. return s.String()
  28691. }
  28692. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  28693. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  28694. s.ReservedInstancesListings = v
  28695. return s
  28696. }
  28697. // Describes a Spot Fleet error.
  28698. type CancelSpotFleetRequestsError struct {
  28699. _ struct{} `type:"structure"`
  28700. // The error code.
  28701. Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
  28702. // The description for the error code.
  28703. Message *string `locationName:"message" type:"string"`
  28704. }
  28705. // String returns the string representation
  28706. func (s CancelSpotFleetRequestsError) String() string {
  28707. return awsutil.Prettify(s)
  28708. }
  28709. // GoString returns the string representation
  28710. func (s CancelSpotFleetRequestsError) GoString() string {
  28711. return s.String()
  28712. }
  28713. // SetCode sets the Code field's value.
  28714. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  28715. s.Code = &v
  28716. return s
  28717. }
  28718. // SetMessage sets the Message field's value.
  28719. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  28720. s.Message = &v
  28721. return s
  28722. }
  28723. // Describes a Spot Fleet request that was not successfully canceled.
  28724. type CancelSpotFleetRequestsErrorItem struct {
  28725. _ struct{} `type:"structure"`
  28726. // The error.
  28727. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
  28728. // The ID of the Spot Fleet request.
  28729. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  28730. }
  28731. // String returns the string representation
  28732. func (s CancelSpotFleetRequestsErrorItem) String() string {
  28733. return awsutil.Prettify(s)
  28734. }
  28735. // GoString returns the string representation
  28736. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  28737. return s.String()
  28738. }
  28739. // SetError sets the Error field's value.
  28740. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  28741. s.Error = v
  28742. return s
  28743. }
  28744. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  28745. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  28746. s.SpotFleetRequestId = &v
  28747. return s
  28748. }
  28749. // Contains the parameters for CancelSpotFleetRequests.
  28750. type CancelSpotFleetRequestsInput struct {
  28751. _ struct{} `type:"structure"`
  28752. // Checks whether you have the required permissions for the action, without
  28753. // actually making the request, and provides an error response. If you have
  28754. // the required permissions, the error response is DryRunOperation. Otherwise,
  28755. // it is UnauthorizedOperation.
  28756. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28757. // The IDs of the Spot Fleet requests.
  28758. //
  28759. // SpotFleetRequestIds is a required field
  28760. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  28761. // Indicates whether to terminate instances for a Spot Fleet request if it is
  28762. // canceled successfully.
  28763. //
  28764. // TerminateInstances is a required field
  28765. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  28766. }
  28767. // String returns the string representation
  28768. func (s CancelSpotFleetRequestsInput) String() string {
  28769. return awsutil.Prettify(s)
  28770. }
  28771. // GoString returns the string representation
  28772. func (s CancelSpotFleetRequestsInput) GoString() string {
  28773. return s.String()
  28774. }
  28775. // Validate inspects the fields of the type to determine if they are valid.
  28776. func (s *CancelSpotFleetRequestsInput) Validate() error {
  28777. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  28778. if s.SpotFleetRequestIds == nil {
  28779. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  28780. }
  28781. if s.TerminateInstances == nil {
  28782. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  28783. }
  28784. if invalidParams.Len() > 0 {
  28785. return invalidParams
  28786. }
  28787. return nil
  28788. }
  28789. // SetDryRun sets the DryRun field's value.
  28790. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  28791. s.DryRun = &v
  28792. return s
  28793. }
  28794. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  28795. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  28796. s.SpotFleetRequestIds = v
  28797. return s
  28798. }
  28799. // SetTerminateInstances sets the TerminateInstances field's value.
  28800. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  28801. s.TerminateInstances = &v
  28802. return s
  28803. }
  28804. // Contains the output of CancelSpotFleetRequests.
  28805. type CancelSpotFleetRequestsOutput struct {
  28806. _ struct{} `type:"structure"`
  28807. // Information about the Spot Fleet requests that are successfully canceled.
  28808. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  28809. // Information about the Spot Fleet requests that are not successfully canceled.
  28810. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  28811. }
  28812. // String returns the string representation
  28813. func (s CancelSpotFleetRequestsOutput) String() string {
  28814. return awsutil.Prettify(s)
  28815. }
  28816. // GoString returns the string representation
  28817. func (s CancelSpotFleetRequestsOutput) GoString() string {
  28818. return s.String()
  28819. }
  28820. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  28821. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  28822. s.SuccessfulFleetRequests = v
  28823. return s
  28824. }
  28825. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  28826. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  28827. s.UnsuccessfulFleetRequests = v
  28828. return s
  28829. }
  28830. // Describes a Spot Fleet request that was successfully canceled.
  28831. type CancelSpotFleetRequestsSuccessItem struct {
  28832. _ struct{} `type:"structure"`
  28833. // The current state of the Spot Fleet request.
  28834. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
  28835. // The previous state of the Spot Fleet request.
  28836. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
  28837. // The ID of the Spot Fleet request.
  28838. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  28839. }
  28840. // String returns the string representation
  28841. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  28842. return awsutil.Prettify(s)
  28843. }
  28844. // GoString returns the string representation
  28845. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  28846. return s.String()
  28847. }
  28848. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  28849. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  28850. s.CurrentSpotFleetRequestState = &v
  28851. return s
  28852. }
  28853. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  28854. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  28855. s.PreviousSpotFleetRequestState = &v
  28856. return s
  28857. }
  28858. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  28859. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  28860. s.SpotFleetRequestId = &v
  28861. return s
  28862. }
  28863. // Contains the parameters for CancelSpotInstanceRequests.
  28864. type CancelSpotInstanceRequestsInput struct {
  28865. _ struct{} `type:"structure"`
  28866. // Checks whether you have the required permissions for the action, without
  28867. // actually making the request, and provides an error response. If you have
  28868. // the required permissions, the error response is DryRunOperation. Otherwise,
  28869. // it is UnauthorizedOperation.
  28870. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28871. // One or more Spot Instance request IDs.
  28872. //
  28873. // SpotInstanceRequestIds is a required field
  28874. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  28875. }
  28876. // String returns the string representation
  28877. func (s CancelSpotInstanceRequestsInput) String() string {
  28878. return awsutil.Prettify(s)
  28879. }
  28880. // GoString returns the string representation
  28881. func (s CancelSpotInstanceRequestsInput) GoString() string {
  28882. return s.String()
  28883. }
  28884. // Validate inspects the fields of the type to determine if they are valid.
  28885. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  28886. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  28887. if s.SpotInstanceRequestIds == nil {
  28888. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  28889. }
  28890. if invalidParams.Len() > 0 {
  28891. return invalidParams
  28892. }
  28893. return nil
  28894. }
  28895. // SetDryRun sets the DryRun field's value.
  28896. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  28897. s.DryRun = &v
  28898. return s
  28899. }
  28900. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  28901. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  28902. s.SpotInstanceRequestIds = v
  28903. return s
  28904. }
  28905. // Contains the output of CancelSpotInstanceRequests.
  28906. type CancelSpotInstanceRequestsOutput struct {
  28907. _ struct{} `type:"structure"`
  28908. // One or more Spot Instance requests.
  28909. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  28910. }
  28911. // String returns the string representation
  28912. func (s CancelSpotInstanceRequestsOutput) String() string {
  28913. return awsutil.Prettify(s)
  28914. }
  28915. // GoString returns the string representation
  28916. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  28917. return s.String()
  28918. }
  28919. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  28920. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  28921. s.CancelledSpotInstanceRequests = v
  28922. return s
  28923. }
  28924. // Describes a request to cancel a Spot Instance.
  28925. type CancelledSpotInstanceRequest struct {
  28926. _ struct{} `type:"structure"`
  28927. // The ID of the Spot Instance request.
  28928. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  28929. // The state of the Spot Instance request.
  28930. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  28931. }
  28932. // String returns the string representation
  28933. func (s CancelledSpotInstanceRequest) String() string {
  28934. return awsutil.Prettify(s)
  28935. }
  28936. // GoString returns the string representation
  28937. func (s CancelledSpotInstanceRequest) GoString() string {
  28938. return s.String()
  28939. }
  28940. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  28941. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  28942. s.SpotInstanceRequestId = &v
  28943. return s
  28944. }
  28945. // SetState sets the State field's value.
  28946. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  28947. s.State = &v
  28948. return s
  28949. }
  28950. // Describes a Capacity Reservation.
  28951. type CapacityReservation struct {
  28952. _ struct{} `type:"structure"`
  28953. // The Availability Zone in which the capacity is reserved.
  28954. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  28955. // The remaining capacity. Indicates the number of instances that can be launched
  28956. // in the Capacity Reservation.
  28957. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  28958. // The ID of the Capacity Reservation.
  28959. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  28960. // The date and time at which the Capacity Reservation was created.
  28961. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  28962. // Indicates whether the Capacity Reservation supports EBS-optimized instances.
  28963. // This optimization provides dedicated throughput to Amazon EBS and an optimized
  28964. // configuration stack to provide optimal I/O performance. This optimization
  28965. // isn't available with all instance types. Additional usage charges apply when
  28966. // using an EBS- optimized instance.
  28967. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  28968. // The date and time at which the Capacity Reservation expires. When a Capacity
  28969. // Reservation expires, the reserved capacity is released and you can no longer
  28970. // launch instances into it. The Capacity Reservation's state changes to expired
  28971. // when it reaches its end date and time.
  28972. EndDate *time.Time `locationName:"endDate" type:"timestamp"`
  28973. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  28974. // can have one of the following end types:
  28975. //
  28976. // * unlimited - The Capacity Reservation remains active until you explicitly
  28977. // cancel it.
  28978. //
  28979. // * limited - The Capacity Reservation expires automatically at a specified
  28980. // date and time.
  28981. EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
  28982. // Indicates whether the Capacity Reservation supports instances with temporary,
  28983. // block-level storage.
  28984. EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
  28985. // Indicates the type of instance launches that the Capacity Reservation accepts.
  28986. // The options include:
  28987. //
  28988. // * open - The Capacity Reservation accepts all instances that have matching
  28989. // attributes (instance type, platform, and Availability Zone). Instances
  28990. // that have matching attributes launch into the Capacity Reservation automatically
  28991. // without specifying any additional parameters.
  28992. //
  28993. // * targeted - The Capacity Reservation only accepts instances that have
  28994. // matching attributes (instance type, platform, and Availability Zone),
  28995. // and explicitly target the Capacity Reservation. This ensures that only
  28996. // permitted instances can use the reserved capacity.
  28997. InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
  28998. // The type of operating system for which the Capacity Reservation reserves
  28999. // capacity.
  29000. InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
  29001. // The type of instance for which the Capacity Reservation reserves capacity.
  29002. InstanceType *string `locationName:"instanceType" type:"string"`
  29003. // The current state of the Capacity Reservation. A Capacity Reservation can
  29004. // be in one of the following states:
  29005. //
  29006. // * active - The Capacity Reservation is active and the capacity is available
  29007. // for your use.
  29008. //
  29009. // * cancelled - The Capacity Reservation expired automatically at the date
  29010. // and time specified in your request. The reserved capacity is no longer
  29011. // available for your use.
  29012. //
  29013. // * expired - The Capacity Reservation was manually cancelled. The reserved
  29014. // capacity is no longer available for your use.
  29015. //
  29016. // * pending - The Capacity Reservation request was successful but the capacity
  29017. // provisioning is still pending.
  29018. //
  29019. // * failed - The Capacity Reservation request has failed. A request might
  29020. // fail due to invalid request parameters, capacity constraints, or instance
  29021. // limit constraints. Failed requests are retained for 60 minutes.
  29022. State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
  29023. // Any tags assigned to the Capacity Reservation.
  29024. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29025. // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
  29026. // can have one of the following tenancy settings:
  29027. //
  29028. // * default - The Capacity Reservation is created on hardware that is shared
  29029. // with other AWS accounts.
  29030. //
  29031. // * dedicated - The Capacity Reservation is created on single-tenant hardware
  29032. // that is dedicated to a single AWS account.
  29033. Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
  29034. // The number of instances for which the Capacity Reservation reserves capacity.
  29035. TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
  29036. }
  29037. // String returns the string representation
  29038. func (s CapacityReservation) String() string {
  29039. return awsutil.Prettify(s)
  29040. }
  29041. // GoString returns the string representation
  29042. func (s CapacityReservation) GoString() string {
  29043. return s.String()
  29044. }
  29045. // SetAvailabilityZone sets the AvailabilityZone field's value.
  29046. func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
  29047. s.AvailabilityZone = &v
  29048. return s
  29049. }
  29050. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  29051. func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
  29052. s.AvailableInstanceCount = &v
  29053. return s
  29054. }
  29055. // SetCapacityReservationId sets the CapacityReservationId field's value.
  29056. func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
  29057. s.CapacityReservationId = &v
  29058. return s
  29059. }
  29060. // SetCreateDate sets the CreateDate field's value.
  29061. func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
  29062. s.CreateDate = &v
  29063. return s
  29064. }
  29065. // SetEbsOptimized sets the EbsOptimized field's value.
  29066. func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
  29067. s.EbsOptimized = &v
  29068. return s
  29069. }
  29070. // SetEndDate sets the EndDate field's value.
  29071. func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
  29072. s.EndDate = &v
  29073. return s
  29074. }
  29075. // SetEndDateType sets the EndDateType field's value.
  29076. func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
  29077. s.EndDateType = &v
  29078. return s
  29079. }
  29080. // SetEphemeralStorage sets the EphemeralStorage field's value.
  29081. func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
  29082. s.EphemeralStorage = &v
  29083. return s
  29084. }
  29085. // SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
  29086. func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
  29087. s.InstanceMatchCriteria = &v
  29088. return s
  29089. }
  29090. // SetInstancePlatform sets the InstancePlatform field's value.
  29091. func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
  29092. s.InstancePlatform = &v
  29093. return s
  29094. }
  29095. // SetInstanceType sets the InstanceType field's value.
  29096. func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
  29097. s.InstanceType = &v
  29098. return s
  29099. }
  29100. // SetState sets the State field's value.
  29101. func (s *CapacityReservation) SetState(v string) *CapacityReservation {
  29102. s.State = &v
  29103. return s
  29104. }
  29105. // SetTags sets the Tags field's value.
  29106. func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
  29107. s.Tags = v
  29108. return s
  29109. }
  29110. // SetTenancy sets the Tenancy field's value.
  29111. func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
  29112. s.Tenancy = &v
  29113. return s
  29114. }
  29115. // SetTotalInstanceCount sets the TotalInstanceCount field's value.
  29116. func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
  29117. s.TotalInstanceCount = &v
  29118. return s
  29119. }
  29120. // Describes an instance's Capacity Reservation targeting option. You can specify
  29121. // only one parameter at a time. If you specify CapacityReservationPreference
  29122. // and CapacityReservationTarget, the request fails.
  29123. //
  29124. // Use the CapacityReservationPreference parameter to configure the instance
  29125. // to run as an On-Demand Instance or to run in any open Capacity Reservation
  29126. // that has matching attributes (instance type, platform, Availability Zone).
  29127. // Use the CapacityReservationTarget parameter to explicitly target a specific
  29128. // Capacity Reservation.
  29129. type CapacityReservationSpecification struct {
  29130. _ struct{} `type:"structure"`
  29131. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  29132. // include:
  29133. //
  29134. // * open - The instance can run in any open Capacity Reservation that has
  29135. // matching attributes (instance type, platform, Availability Zone).
  29136. //
  29137. // * none - The instance avoids running in a Capacity Reservation even if
  29138. // one is available. The instance runs as an On-Demand Instance.
  29139. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
  29140. // Information about the target Capacity Reservation.
  29141. CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
  29142. }
  29143. // String returns the string representation
  29144. func (s CapacityReservationSpecification) String() string {
  29145. return awsutil.Prettify(s)
  29146. }
  29147. // GoString returns the string representation
  29148. func (s CapacityReservationSpecification) GoString() string {
  29149. return s.String()
  29150. }
  29151. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  29152. func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
  29153. s.CapacityReservationPreference = &v
  29154. return s
  29155. }
  29156. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  29157. func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
  29158. s.CapacityReservationTarget = v
  29159. return s
  29160. }
  29161. // Describes the instance's Capacity Reservation targeting preferences. The
  29162. // action returns the capacityReservationPreference response element if the
  29163. // instance is configured to run in On-Demand capacity, or if it is configured
  29164. // in run in any open Capacity Reservation that has matching attributes (instance
  29165. // type, platform, Availability Zone). The action returns the capacityReservationTarget
  29166. // response element if the instance explicily targets a specific Capacity Reservation.
  29167. type CapacityReservationSpecificationResponse struct {
  29168. _ struct{} `type:"structure"`
  29169. // Describes the instance's Capacity Reservation preferences. Possible preferences
  29170. // include:
  29171. //
  29172. // * open - The instance can run in any open Capacity Reservation that has
  29173. // matching attributes (instance type, platform, Availability Zone).
  29174. //
  29175. // * none - The instance avoids running in a Capacity Reservation even if
  29176. // one is available. The instance runs in On-Demand capacity.
  29177. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
  29178. // Information about the targeted Capacity Reservation.
  29179. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
  29180. }
  29181. // String returns the string representation
  29182. func (s CapacityReservationSpecificationResponse) String() string {
  29183. return awsutil.Prettify(s)
  29184. }
  29185. // GoString returns the string representation
  29186. func (s CapacityReservationSpecificationResponse) GoString() string {
  29187. return s.String()
  29188. }
  29189. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  29190. func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
  29191. s.CapacityReservationPreference = &v
  29192. return s
  29193. }
  29194. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  29195. func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
  29196. s.CapacityReservationTarget = v
  29197. return s
  29198. }
  29199. // Describes a target Capacity Reservation.
  29200. type CapacityReservationTarget struct {
  29201. _ struct{} `type:"structure"`
  29202. // The ID of the Capacity Reservation.
  29203. CapacityReservationId *string `type:"string"`
  29204. }
  29205. // String returns the string representation
  29206. func (s CapacityReservationTarget) String() string {
  29207. return awsutil.Prettify(s)
  29208. }
  29209. // GoString returns the string representation
  29210. func (s CapacityReservationTarget) GoString() string {
  29211. return s.String()
  29212. }
  29213. // SetCapacityReservationId sets the CapacityReservationId field's value.
  29214. func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
  29215. s.CapacityReservationId = &v
  29216. return s
  29217. }
  29218. // Describes a target Capacity Reservation.
  29219. type CapacityReservationTargetResponse struct {
  29220. _ struct{} `type:"structure"`
  29221. // The ID of the Capacity Reservation.
  29222. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  29223. }
  29224. // String returns the string representation
  29225. func (s CapacityReservationTargetResponse) String() string {
  29226. return awsutil.Prettify(s)
  29227. }
  29228. // GoString returns the string representation
  29229. func (s CapacityReservationTargetResponse) GoString() string {
  29230. return s.String()
  29231. }
  29232. // SetCapacityReservationId sets the CapacityReservationId field's value.
  29233. func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
  29234. s.CapacityReservationId = &v
  29235. return s
  29236. }
  29237. // Information about the client certificate used for authentication.
  29238. type CertificateAuthentication struct {
  29239. _ struct{} `type:"structure"`
  29240. // The ARN of the client certificate.
  29241. ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
  29242. }
  29243. // String returns the string representation
  29244. func (s CertificateAuthentication) String() string {
  29245. return awsutil.Prettify(s)
  29246. }
  29247. // GoString returns the string representation
  29248. func (s CertificateAuthentication) GoString() string {
  29249. return s.String()
  29250. }
  29251. // SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
  29252. func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
  29253. s.ClientRootCertificateChain = &v
  29254. return s
  29255. }
  29256. // Information about the client certificate to be used for authentication.
  29257. type CertificateAuthenticationRequest struct {
  29258. _ struct{} `type:"structure"`
  29259. // The ARN of the client certificate. The certificate must be signed by a certificate
  29260. // authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
  29261. ClientRootCertificateChainArn *string `type:"string"`
  29262. }
  29263. // String returns the string representation
  29264. func (s CertificateAuthenticationRequest) String() string {
  29265. return awsutil.Prettify(s)
  29266. }
  29267. // GoString returns the string representation
  29268. func (s CertificateAuthenticationRequest) GoString() string {
  29269. return s.String()
  29270. }
  29271. // SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
  29272. func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
  29273. s.ClientRootCertificateChainArn = &v
  29274. return s
  29275. }
  29276. // Provides authorization for Amazon to bring a specific IP address range to
  29277. // a specific AWS account using bring your own IP addresses (BYOIP). For more
  29278. // information, see Prepare to Bring Your Address Range to Your AWS Account
  29279. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
  29280. // in the Amazon Elastic Compute Cloud User Guide.
  29281. type CidrAuthorizationContext struct {
  29282. _ struct{} `type:"structure"`
  29283. // The plain-text authorization message for the prefix and account.
  29284. //
  29285. // Message is a required field
  29286. Message *string `type:"string" required:"true"`
  29287. // The signed authorization message for the prefix and account.
  29288. //
  29289. // Signature is a required field
  29290. Signature *string `type:"string" required:"true"`
  29291. }
  29292. // String returns the string representation
  29293. func (s CidrAuthorizationContext) String() string {
  29294. return awsutil.Prettify(s)
  29295. }
  29296. // GoString returns the string representation
  29297. func (s CidrAuthorizationContext) GoString() string {
  29298. return s.String()
  29299. }
  29300. // Validate inspects the fields of the type to determine if they are valid.
  29301. func (s *CidrAuthorizationContext) Validate() error {
  29302. invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
  29303. if s.Message == nil {
  29304. invalidParams.Add(request.NewErrParamRequired("Message"))
  29305. }
  29306. if s.Signature == nil {
  29307. invalidParams.Add(request.NewErrParamRequired("Signature"))
  29308. }
  29309. if invalidParams.Len() > 0 {
  29310. return invalidParams
  29311. }
  29312. return nil
  29313. }
  29314. // SetMessage sets the Message field's value.
  29315. func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
  29316. s.Message = &v
  29317. return s
  29318. }
  29319. // SetSignature sets the Signature field's value.
  29320. func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
  29321. s.Signature = &v
  29322. return s
  29323. }
  29324. // Describes an IPv4 CIDR block.
  29325. type CidrBlock struct {
  29326. _ struct{} `type:"structure"`
  29327. // The IPv4 CIDR block.
  29328. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  29329. }
  29330. // String returns the string representation
  29331. func (s CidrBlock) String() string {
  29332. return awsutil.Prettify(s)
  29333. }
  29334. // GoString returns the string representation
  29335. func (s CidrBlock) GoString() string {
  29336. return s.String()
  29337. }
  29338. // SetCidrBlock sets the CidrBlock field's value.
  29339. func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
  29340. s.CidrBlock = &v
  29341. return s
  29342. }
  29343. // Describes the ClassicLink DNS support status of a VPC.
  29344. type ClassicLinkDnsSupport struct {
  29345. _ struct{} `type:"structure"`
  29346. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  29347. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  29348. // The ID of the VPC.
  29349. VpcId *string `locationName:"vpcId" type:"string"`
  29350. }
  29351. // String returns the string representation
  29352. func (s ClassicLinkDnsSupport) String() string {
  29353. return awsutil.Prettify(s)
  29354. }
  29355. // GoString returns the string representation
  29356. func (s ClassicLinkDnsSupport) GoString() string {
  29357. return s.String()
  29358. }
  29359. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  29360. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  29361. s.ClassicLinkDnsSupported = &v
  29362. return s
  29363. }
  29364. // SetVpcId sets the VpcId field's value.
  29365. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  29366. s.VpcId = &v
  29367. return s
  29368. }
  29369. // Describes a linked EC2-Classic instance.
  29370. type ClassicLinkInstance struct {
  29371. _ struct{} `type:"structure"`
  29372. // A list of security groups.
  29373. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  29374. // The ID of the instance.
  29375. InstanceId *string `locationName:"instanceId" type:"string"`
  29376. // Any tags assigned to the instance.
  29377. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29378. // The ID of the VPC.
  29379. VpcId *string `locationName:"vpcId" type:"string"`
  29380. }
  29381. // String returns the string representation
  29382. func (s ClassicLinkInstance) String() string {
  29383. return awsutil.Prettify(s)
  29384. }
  29385. // GoString returns the string representation
  29386. func (s ClassicLinkInstance) GoString() string {
  29387. return s.String()
  29388. }
  29389. // SetGroups sets the Groups field's value.
  29390. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  29391. s.Groups = v
  29392. return s
  29393. }
  29394. // SetInstanceId sets the InstanceId field's value.
  29395. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  29396. s.InstanceId = &v
  29397. return s
  29398. }
  29399. // SetTags sets the Tags field's value.
  29400. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  29401. s.Tags = v
  29402. return s
  29403. }
  29404. // SetVpcId sets the VpcId field's value.
  29405. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  29406. s.VpcId = &v
  29407. return s
  29408. }
  29409. // Describes a Classic Load Balancer.
  29410. type ClassicLoadBalancer struct {
  29411. _ struct{} `type:"structure"`
  29412. // The name of the load balancer.
  29413. Name *string `locationName:"name" type:"string"`
  29414. }
  29415. // String returns the string representation
  29416. func (s ClassicLoadBalancer) String() string {
  29417. return awsutil.Prettify(s)
  29418. }
  29419. // GoString returns the string representation
  29420. func (s ClassicLoadBalancer) GoString() string {
  29421. return s.String()
  29422. }
  29423. // SetName sets the Name field's value.
  29424. func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
  29425. s.Name = &v
  29426. return s
  29427. }
  29428. // Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
  29429. // registers the running Spot Instances with these Classic Load Balancers.
  29430. type ClassicLoadBalancersConfig struct {
  29431. _ struct{} `type:"structure"`
  29432. // One or more Classic Load Balancers.
  29433. ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
  29434. }
  29435. // String returns the string representation
  29436. func (s ClassicLoadBalancersConfig) String() string {
  29437. return awsutil.Prettify(s)
  29438. }
  29439. // GoString returns the string representation
  29440. func (s ClassicLoadBalancersConfig) GoString() string {
  29441. return s.String()
  29442. }
  29443. // Validate inspects the fields of the type to determine if they are valid.
  29444. func (s *ClassicLoadBalancersConfig) Validate() error {
  29445. invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
  29446. if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
  29447. invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
  29448. }
  29449. if invalidParams.Len() > 0 {
  29450. return invalidParams
  29451. }
  29452. return nil
  29453. }
  29454. // SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
  29455. func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
  29456. s.ClassicLoadBalancers = v
  29457. return s
  29458. }
  29459. // Describes the state of a client certificate revocation list.
  29460. type ClientCertificateRevocationListStatus struct {
  29461. _ struct{} `type:"structure"`
  29462. // The state of the client certificate revocation list.
  29463. Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
  29464. // A message about the status of the client certificate revocation list, if
  29465. // applicable.
  29466. Message *string `locationName:"message" type:"string"`
  29467. }
  29468. // String returns the string representation
  29469. func (s ClientCertificateRevocationListStatus) String() string {
  29470. return awsutil.Prettify(s)
  29471. }
  29472. // GoString returns the string representation
  29473. func (s ClientCertificateRevocationListStatus) GoString() string {
  29474. return s.String()
  29475. }
  29476. // SetCode sets the Code field's value.
  29477. func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
  29478. s.Code = &v
  29479. return s
  29480. }
  29481. // SetMessage sets the Message field's value.
  29482. func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
  29483. s.Message = &v
  29484. return s
  29485. }
  29486. // Describes the client-specific data.
  29487. type ClientData struct {
  29488. _ struct{} `type:"structure"`
  29489. // A user-defined comment about the disk upload.
  29490. Comment *string `type:"string"`
  29491. // The time that the disk upload ends.
  29492. UploadEnd *time.Time `type:"timestamp"`
  29493. // The size of the uploaded disk image, in GiB.
  29494. UploadSize *float64 `type:"double"`
  29495. // The time that the disk upload starts.
  29496. UploadStart *time.Time `type:"timestamp"`
  29497. }
  29498. // String returns the string representation
  29499. func (s ClientData) String() string {
  29500. return awsutil.Prettify(s)
  29501. }
  29502. // GoString returns the string representation
  29503. func (s ClientData) GoString() string {
  29504. return s.String()
  29505. }
  29506. // SetComment sets the Comment field's value.
  29507. func (s *ClientData) SetComment(v string) *ClientData {
  29508. s.Comment = &v
  29509. return s
  29510. }
  29511. // SetUploadEnd sets the UploadEnd field's value.
  29512. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  29513. s.UploadEnd = &v
  29514. return s
  29515. }
  29516. // SetUploadSize sets the UploadSize field's value.
  29517. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  29518. s.UploadSize = &v
  29519. return s
  29520. }
  29521. // SetUploadStart sets the UploadStart field's value.
  29522. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  29523. s.UploadStart = &v
  29524. return s
  29525. }
  29526. // Describes the authentication methods used by a Client VPN endpoint. Client
  29527. // VPN supports Active Directory and mutual authentication. For more information,
  29528. // see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
  29529. // in the AWS Client VPN Administrator Guide.
  29530. type ClientVpnAuthentication struct {
  29531. _ struct{} `type:"structure"`
  29532. // Information about the Active Directory, if applicable.
  29533. ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
  29534. // Information about the authentication certificates, if applicable.
  29535. MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
  29536. // The authentication type used.
  29537. Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
  29538. }
  29539. // String returns the string representation
  29540. func (s ClientVpnAuthentication) String() string {
  29541. return awsutil.Prettify(s)
  29542. }
  29543. // GoString returns the string representation
  29544. func (s ClientVpnAuthentication) GoString() string {
  29545. return s.String()
  29546. }
  29547. // SetActiveDirectory sets the ActiveDirectory field's value.
  29548. func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
  29549. s.ActiveDirectory = v
  29550. return s
  29551. }
  29552. // SetMutualAuthentication sets the MutualAuthentication field's value.
  29553. func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
  29554. s.MutualAuthentication = v
  29555. return s
  29556. }
  29557. // SetType sets the Type field's value.
  29558. func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
  29559. s.Type = &v
  29560. return s
  29561. }
  29562. // Describes the authentication method to be used by a Client VPN endpoint.
  29563. // Client VPN supports Active Directory and mutual authentication. For more
  29564. // information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
  29565. // in the AWS Client VPN Administrator Guide.
  29566. type ClientVpnAuthenticationRequest struct {
  29567. _ struct{} `type:"structure"`
  29568. // Information about the Active Directory to be used, if applicable. You must
  29569. // provide this information if Type is directory-service-authentication.
  29570. ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
  29571. // Information about the authentication certificates to be used, if applicable.
  29572. // You must provide this information if Type is certificate-authentication.
  29573. MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
  29574. // The type of client authentication to be used. Specify certificate-authentication
  29575. // to use certificate-based authentication, or directory-service-authentication
  29576. // to use Active Directory authentication.
  29577. Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
  29578. }
  29579. // String returns the string representation
  29580. func (s ClientVpnAuthenticationRequest) String() string {
  29581. return awsutil.Prettify(s)
  29582. }
  29583. // GoString returns the string representation
  29584. func (s ClientVpnAuthenticationRequest) GoString() string {
  29585. return s.String()
  29586. }
  29587. // SetActiveDirectory sets the ActiveDirectory field's value.
  29588. func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
  29589. s.ActiveDirectory = v
  29590. return s
  29591. }
  29592. // SetMutualAuthentication sets the MutualAuthentication field's value.
  29593. func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
  29594. s.MutualAuthentication = v
  29595. return s
  29596. }
  29597. // SetType sets the Type field's value.
  29598. func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
  29599. s.Type = &v
  29600. return s
  29601. }
  29602. // Describes the state of an authorization rule.
  29603. type ClientVpnAuthorizationRuleStatus struct {
  29604. _ struct{} `type:"structure"`
  29605. // The state of the authorization rule.
  29606. Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
  29607. // A message about the status of the authorization rule, if applicable.
  29608. Message *string `locationName:"message" type:"string"`
  29609. }
  29610. // String returns the string representation
  29611. func (s ClientVpnAuthorizationRuleStatus) String() string {
  29612. return awsutil.Prettify(s)
  29613. }
  29614. // GoString returns the string representation
  29615. func (s ClientVpnAuthorizationRuleStatus) GoString() string {
  29616. return s.String()
  29617. }
  29618. // SetCode sets the Code field's value.
  29619. func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
  29620. s.Code = &v
  29621. return s
  29622. }
  29623. // SetMessage sets the Message field's value.
  29624. func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
  29625. s.Message = &v
  29626. return s
  29627. }
  29628. // Describes a client connection.
  29629. type ClientVpnConnection struct {
  29630. _ struct{} `type:"structure"`
  29631. // The IP address of the client.
  29632. ClientIp *string `locationName:"clientIp" type:"string"`
  29633. // The ID of the Client VPN endpoint to which the client is connected.
  29634. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  29635. // The common name associated with the client. This is either the name of the
  29636. // client certificate, or the Active Directory user name.
  29637. CommonName *string `locationName:"commonName" type:"string"`
  29638. // The date and time the client connection was terminated.
  29639. ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
  29640. // The date and time the client connection was established.
  29641. ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
  29642. // The ID of the client connection.
  29643. ConnectionId *string `locationName:"connectionId" type:"string"`
  29644. // The number of bytes received by the client.
  29645. EgressBytes *string `locationName:"egressBytes" type:"string"`
  29646. // The number of packets received by the client.
  29647. EgressPackets *string `locationName:"egressPackets" type:"string"`
  29648. // The number of bytes sent by the client.
  29649. IngressBytes *string `locationName:"ingressBytes" type:"string"`
  29650. // The number of packets sent by the client.
  29651. IngressPackets *string `locationName:"ingressPackets" type:"string"`
  29652. // The current state of the client connection.
  29653. Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
  29654. // The current date and time.
  29655. Timestamp *string `locationName:"timestamp" type:"string"`
  29656. // The username of the client who established the client connection. This information
  29657. // is only provided if Active Directory client authentication is used.
  29658. Username *string `locationName:"username" type:"string"`
  29659. }
  29660. // String returns the string representation
  29661. func (s ClientVpnConnection) String() string {
  29662. return awsutil.Prettify(s)
  29663. }
  29664. // GoString returns the string representation
  29665. func (s ClientVpnConnection) GoString() string {
  29666. return s.String()
  29667. }
  29668. // SetClientIp sets the ClientIp field's value.
  29669. func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
  29670. s.ClientIp = &v
  29671. return s
  29672. }
  29673. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  29674. func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
  29675. s.ClientVpnEndpointId = &v
  29676. return s
  29677. }
  29678. // SetCommonName sets the CommonName field's value.
  29679. func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
  29680. s.CommonName = &v
  29681. return s
  29682. }
  29683. // SetConnectionEndTime sets the ConnectionEndTime field's value.
  29684. func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
  29685. s.ConnectionEndTime = &v
  29686. return s
  29687. }
  29688. // SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
  29689. func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
  29690. s.ConnectionEstablishedTime = &v
  29691. return s
  29692. }
  29693. // SetConnectionId sets the ConnectionId field's value.
  29694. func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
  29695. s.ConnectionId = &v
  29696. return s
  29697. }
  29698. // SetEgressBytes sets the EgressBytes field's value.
  29699. func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
  29700. s.EgressBytes = &v
  29701. return s
  29702. }
  29703. // SetEgressPackets sets the EgressPackets field's value.
  29704. func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
  29705. s.EgressPackets = &v
  29706. return s
  29707. }
  29708. // SetIngressBytes sets the IngressBytes field's value.
  29709. func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
  29710. s.IngressBytes = &v
  29711. return s
  29712. }
  29713. // SetIngressPackets sets the IngressPackets field's value.
  29714. func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
  29715. s.IngressPackets = &v
  29716. return s
  29717. }
  29718. // SetStatus sets the Status field's value.
  29719. func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
  29720. s.Status = v
  29721. return s
  29722. }
  29723. // SetTimestamp sets the Timestamp field's value.
  29724. func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
  29725. s.Timestamp = &v
  29726. return s
  29727. }
  29728. // SetUsername sets the Username field's value.
  29729. func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
  29730. s.Username = &v
  29731. return s
  29732. }
  29733. // Describes the status of a client connection.
  29734. type ClientVpnConnectionStatus struct {
  29735. _ struct{} `type:"structure"`
  29736. // The state of the client connection.
  29737. Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
  29738. // A message about the status of the client connection, if applicable.
  29739. Message *string `locationName:"message" type:"string"`
  29740. }
  29741. // String returns the string representation
  29742. func (s ClientVpnConnectionStatus) String() string {
  29743. return awsutil.Prettify(s)
  29744. }
  29745. // GoString returns the string representation
  29746. func (s ClientVpnConnectionStatus) GoString() string {
  29747. return s.String()
  29748. }
  29749. // SetCode sets the Code field's value.
  29750. func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
  29751. s.Code = &v
  29752. return s
  29753. }
  29754. // SetMessage sets the Message field's value.
  29755. func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
  29756. s.Message = &v
  29757. return s
  29758. }
  29759. // Describes a Client VPN endpoint.
  29760. type ClientVpnEndpoint struct {
  29761. _ struct{} `type:"structure"`
  29762. // Information about the associated target networks. A target network is a subnet
  29763. // in a VPC.
  29764. //
  29765. // Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
  29766. AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
  29767. // Information about the authentication method used by the Client VPN endpoint.
  29768. AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
  29769. // The IPv4 address range, in CIDR notation, from which client IP addresses
  29770. // are assigned.
  29771. ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
  29772. // The ID of the Client VPN endpoint.
  29773. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  29774. // Information about the client connection logging options for the Client VPN
  29775. // endpoint.
  29776. ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
  29777. // The date and time the Client VPN endpoint was created.
  29778. CreationTime *string `locationName:"creationTime" type:"string"`
  29779. // The date and time the Client VPN endpoint was deleted, if applicable.
  29780. DeletionTime *string `locationName:"deletionTime" type:"string"`
  29781. // A brief description of the endpoint.
  29782. Description *string `locationName:"description" type:"string"`
  29783. // The DNS name to be used by clients when connecting to the Client VPN endpoint.
  29784. DnsName *string `locationName:"dnsName" type:"string"`
  29785. // Information about the DNS servers to be used for DNS resolution.
  29786. DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
  29787. // The ARN of the server certificate.
  29788. ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
  29789. // Indicates whether VPN split tunneling is supported.
  29790. SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
  29791. // The current state of the Client VPN endpoint.
  29792. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  29793. // Any tags assigned to the Client VPN endpoint.
  29794. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29795. // The transport protocol used by the Client VPN endpoint.
  29796. TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
  29797. // The protocol used by the VPN session.
  29798. VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
  29799. }
  29800. // String returns the string representation
  29801. func (s ClientVpnEndpoint) String() string {
  29802. return awsutil.Prettify(s)
  29803. }
  29804. // GoString returns the string representation
  29805. func (s ClientVpnEndpoint) GoString() string {
  29806. return s.String()
  29807. }
  29808. // SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
  29809. func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
  29810. s.AssociatedTargetNetworks = v
  29811. return s
  29812. }
  29813. // SetAuthenticationOptions sets the AuthenticationOptions field's value.
  29814. func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
  29815. s.AuthenticationOptions = v
  29816. return s
  29817. }
  29818. // SetClientCidrBlock sets the ClientCidrBlock field's value.
  29819. func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
  29820. s.ClientCidrBlock = &v
  29821. return s
  29822. }
  29823. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  29824. func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
  29825. s.ClientVpnEndpointId = &v
  29826. return s
  29827. }
  29828. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  29829. func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
  29830. s.ConnectionLogOptions = v
  29831. return s
  29832. }
  29833. // SetCreationTime sets the CreationTime field's value.
  29834. func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
  29835. s.CreationTime = &v
  29836. return s
  29837. }
  29838. // SetDeletionTime sets the DeletionTime field's value.
  29839. func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
  29840. s.DeletionTime = &v
  29841. return s
  29842. }
  29843. // SetDescription sets the Description field's value.
  29844. func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
  29845. s.Description = &v
  29846. return s
  29847. }
  29848. // SetDnsName sets the DnsName field's value.
  29849. func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
  29850. s.DnsName = &v
  29851. return s
  29852. }
  29853. // SetDnsServers sets the DnsServers field's value.
  29854. func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
  29855. s.DnsServers = v
  29856. return s
  29857. }
  29858. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  29859. func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
  29860. s.ServerCertificateArn = &v
  29861. return s
  29862. }
  29863. // SetSplitTunnel sets the SplitTunnel field's value.
  29864. func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
  29865. s.SplitTunnel = &v
  29866. return s
  29867. }
  29868. // SetStatus sets the Status field's value.
  29869. func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
  29870. s.Status = v
  29871. return s
  29872. }
  29873. // SetTags sets the Tags field's value.
  29874. func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
  29875. s.Tags = v
  29876. return s
  29877. }
  29878. // SetTransportProtocol sets the TransportProtocol field's value.
  29879. func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
  29880. s.TransportProtocol = &v
  29881. return s
  29882. }
  29883. // SetVpnProtocol sets the VpnProtocol field's value.
  29884. func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
  29885. s.VpnProtocol = &v
  29886. return s
  29887. }
  29888. // Describes the state of a Client VPN endpoint.
  29889. type ClientVpnEndpointStatus struct {
  29890. _ struct{} `type:"structure"`
  29891. // The state of the Client VPN endpoint. Possible states include:
  29892. //
  29893. // * pending-associate - The Client VPN endpoint has been created but no
  29894. // target networks have been associated. The Client VPN endpoint cannot accept
  29895. // connections.
  29896. //
  29897. // * available - The Client VPN endpoint has been created and a target network
  29898. // has been associated. The Client VPN endpoint can accept connections.
  29899. //
  29900. // * deleting - The Client VPN endpoint is being deleted. The Client VPN
  29901. // endpoint cannot accept connections.
  29902. //
  29903. // * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
  29904. // cannot accept connections.
  29905. Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
  29906. // A message about the status of the Client VPN endpoint.
  29907. Message *string `locationName:"message" type:"string"`
  29908. }
  29909. // String returns the string representation
  29910. func (s ClientVpnEndpointStatus) String() string {
  29911. return awsutil.Prettify(s)
  29912. }
  29913. // GoString returns the string representation
  29914. func (s ClientVpnEndpointStatus) GoString() string {
  29915. return s.String()
  29916. }
  29917. // SetCode sets the Code field's value.
  29918. func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
  29919. s.Code = &v
  29920. return s
  29921. }
  29922. // SetMessage sets the Message field's value.
  29923. func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
  29924. s.Message = &v
  29925. return s
  29926. }
  29927. // Information about a Client VPN endpoint route.
  29928. type ClientVpnRoute struct {
  29929. _ struct{} `type:"structure"`
  29930. // The ID of the Client VPN endpoint with which the route is associated.
  29931. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  29932. // A brief description of the route.
  29933. Description *string `locationName:"description" type:"string"`
  29934. // The IPv4 address range, in CIDR notation, of the route destination.
  29935. DestinationCidr *string `locationName:"destinationCidr" type:"string"`
  29936. // Indicates how the route was associated with the Client VPN endpoint. associate
  29937. // indicates that the route was automatically added when the target network
  29938. // was associated with the Client VPN endpoint. add-route indicates that the
  29939. // route was manually added using the CreateClientVpnRoute action.
  29940. Origin *string `locationName:"origin" type:"string"`
  29941. // The current state of the route.
  29942. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  29943. // The ID of the subnet through which traffic is routed.
  29944. TargetSubnet *string `locationName:"targetSubnet" type:"string"`
  29945. // The route type.
  29946. Type *string `locationName:"type" type:"string"`
  29947. }
  29948. // String returns the string representation
  29949. func (s ClientVpnRoute) String() string {
  29950. return awsutil.Prettify(s)
  29951. }
  29952. // GoString returns the string representation
  29953. func (s ClientVpnRoute) GoString() string {
  29954. return s.String()
  29955. }
  29956. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  29957. func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
  29958. s.ClientVpnEndpointId = &v
  29959. return s
  29960. }
  29961. // SetDescription sets the Description field's value.
  29962. func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
  29963. s.Description = &v
  29964. return s
  29965. }
  29966. // SetDestinationCidr sets the DestinationCidr field's value.
  29967. func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
  29968. s.DestinationCidr = &v
  29969. return s
  29970. }
  29971. // SetOrigin sets the Origin field's value.
  29972. func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
  29973. s.Origin = &v
  29974. return s
  29975. }
  29976. // SetStatus sets the Status field's value.
  29977. func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
  29978. s.Status = v
  29979. return s
  29980. }
  29981. // SetTargetSubnet sets the TargetSubnet field's value.
  29982. func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
  29983. s.TargetSubnet = &v
  29984. return s
  29985. }
  29986. // SetType sets the Type field's value.
  29987. func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
  29988. s.Type = &v
  29989. return s
  29990. }
  29991. // Describes the state of a Client VPN endpoint route.
  29992. type ClientVpnRouteStatus struct {
  29993. _ struct{} `type:"structure"`
  29994. // The state of the Client VPN endpoint route.
  29995. Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
  29996. // A message about the status of the Client VPN endpoint route, if applicable.
  29997. Message *string `locationName:"message" type:"string"`
  29998. }
  29999. // String returns the string representation
  30000. func (s ClientVpnRouteStatus) String() string {
  30001. return awsutil.Prettify(s)
  30002. }
  30003. // GoString returns the string representation
  30004. func (s ClientVpnRouteStatus) GoString() string {
  30005. return s.String()
  30006. }
  30007. // SetCode sets the Code field's value.
  30008. func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
  30009. s.Code = &v
  30010. return s
  30011. }
  30012. // SetMessage sets the Message field's value.
  30013. func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
  30014. s.Message = &v
  30015. return s
  30016. }
  30017. type ConfirmProductInstanceInput struct {
  30018. _ struct{} `type:"structure"`
  30019. // Checks whether you have the required permissions for the action, without
  30020. // actually making the request, and provides an error response. If you have
  30021. // the required permissions, the error response is DryRunOperation. Otherwise,
  30022. // it is UnauthorizedOperation.
  30023. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30024. // The ID of the instance.
  30025. //
  30026. // InstanceId is a required field
  30027. InstanceId *string `type:"string" required:"true"`
  30028. // The product code. This must be a product code that you own.
  30029. //
  30030. // ProductCode is a required field
  30031. ProductCode *string `type:"string" required:"true"`
  30032. }
  30033. // String returns the string representation
  30034. func (s ConfirmProductInstanceInput) String() string {
  30035. return awsutil.Prettify(s)
  30036. }
  30037. // GoString returns the string representation
  30038. func (s ConfirmProductInstanceInput) GoString() string {
  30039. return s.String()
  30040. }
  30041. // Validate inspects the fields of the type to determine if they are valid.
  30042. func (s *ConfirmProductInstanceInput) Validate() error {
  30043. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  30044. if s.InstanceId == nil {
  30045. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  30046. }
  30047. if s.ProductCode == nil {
  30048. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  30049. }
  30050. if invalidParams.Len() > 0 {
  30051. return invalidParams
  30052. }
  30053. return nil
  30054. }
  30055. // SetDryRun sets the DryRun field's value.
  30056. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  30057. s.DryRun = &v
  30058. return s
  30059. }
  30060. // SetInstanceId sets the InstanceId field's value.
  30061. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  30062. s.InstanceId = &v
  30063. return s
  30064. }
  30065. // SetProductCode sets the ProductCode field's value.
  30066. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  30067. s.ProductCode = &v
  30068. return s
  30069. }
  30070. type ConfirmProductInstanceOutput struct {
  30071. _ struct{} `type:"structure"`
  30072. // The AWS account ID of the instance owner. This is only present if the product
  30073. // code is attached to the instance.
  30074. OwnerId *string `locationName:"ownerId" type:"string"`
  30075. // The return value of the request. Returns true if the specified product code
  30076. // is owned by the requester and associated with the specified instance.
  30077. Return *bool `locationName:"return" type:"boolean"`
  30078. }
  30079. // String returns the string representation
  30080. func (s ConfirmProductInstanceOutput) String() string {
  30081. return awsutil.Prettify(s)
  30082. }
  30083. // GoString returns the string representation
  30084. func (s ConfirmProductInstanceOutput) GoString() string {
  30085. return s.String()
  30086. }
  30087. // SetOwnerId sets the OwnerId field's value.
  30088. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  30089. s.OwnerId = &v
  30090. return s
  30091. }
  30092. // SetReturn sets the Return field's value.
  30093. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  30094. s.Return = &v
  30095. return s
  30096. }
  30097. // Describes the client connection logging options for the Client VPN endpoint.
  30098. type ConnectionLogOptions struct {
  30099. _ struct{} `type:"structure"`
  30100. // The name of the CloudWatch Logs log group.
  30101. CloudwatchLogGroup *string `type:"string"`
  30102. // The name of the CloudWatch Logs log stream to which the connection data is
  30103. // published.
  30104. CloudwatchLogStream *string `type:"string"`
  30105. // Indicates whether connection logging is enabled.
  30106. Enabled *bool `type:"boolean"`
  30107. }
  30108. // String returns the string representation
  30109. func (s ConnectionLogOptions) String() string {
  30110. return awsutil.Prettify(s)
  30111. }
  30112. // GoString returns the string representation
  30113. func (s ConnectionLogOptions) GoString() string {
  30114. return s.String()
  30115. }
  30116. // SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
  30117. func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
  30118. s.CloudwatchLogGroup = &v
  30119. return s
  30120. }
  30121. // SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
  30122. func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
  30123. s.CloudwatchLogStream = &v
  30124. return s
  30125. }
  30126. // SetEnabled sets the Enabled field's value.
  30127. func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
  30128. s.Enabled = &v
  30129. return s
  30130. }
  30131. // Information about the client connection logging options for a Client VPN
  30132. // endpoint.
  30133. type ConnectionLogResponseOptions struct {
  30134. _ struct{} `type:"structure"`
  30135. // The name of the Amazon CloudWatch Logs log group to which connection logging
  30136. // data is published.
  30137. CloudwatchLogGroup *string `type:"string"`
  30138. // The name of the Amazon CloudWatch Logs log stream to which connection logging
  30139. // data is published.
  30140. CloudwatchLogStream *string `type:"string"`
  30141. // Indicates whether client connection logging is enabled for the Client VPN
  30142. // endpoint.
  30143. Enabled *bool `type:"boolean"`
  30144. }
  30145. // String returns the string representation
  30146. func (s ConnectionLogResponseOptions) String() string {
  30147. return awsutil.Prettify(s)
  30148. }
  30149. // GoString returns the string representation
  30150. func (s ConnectionLogResponseOptions) GoString() string {
  30151. return s.String()
  30152. }
  30153. // SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
  30154. func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
  30155. s.CloudwatchLogGroup = &v
  30156. return s
  30157. }
  30158. // SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
  30159. func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
  30160. s.CloudwatchLogStream = &v
  30161. return s
  30162. }
  30163. // SetEnabled sets the Enabled field's value.
  30164. func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
  30165. s.Enabled = &v
  30166. return s
  30167. }
  30168. // Describes a connection notification for a VPC endpoint or VPC endpoint service.
  30169. type ConnectionNotification struct {
  30170. _ struct{} `type:"structure"`
  30171. // The events for the notification. Valid values are Accept, Connect, Delete,
  30172. // and Reject.
  30173. ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
  30174. // The ARN of the SNS topic for the notification.
  30175. ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
  30176. // The ID of the notification.
  30177. ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
  30178. // The state of the notification.
  30179. ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
  30180. // The type of notification.
  30181. ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
  30182. // The ID of the endpoint service.
  30183. ServiceId *string `locationName:"serviceId" type:"string"`
  30184. // The ID of the VPC endpoint.
  30185. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  30186. }
  30187. // String returns the string representation
  30188. func (s ConnectionNotification) String() string {
  30189. return awsutil.Prettify(s)
  30190. }
  30191. // GoString returns the string representation
  30192. func (s ConnectionNotification) GoString() string {
  30193. return s.String()
  30194. }
  30195. // SetConnectionEvents sets the ConnectionEvents field's value.
  30196. func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
  30197. s.ConnectionEvents = v
  30198. return s
  30199. }
  30200. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  30201. func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
  30202. s.ConnectionNotificationArn = &v
  30203. return s
  30204. }
  30205. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  30206. func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
  30207. s.ConnectionNotificationId = &v
  30208. return s
  30209. }
  30210. // SetConnectionNotificationState sets the ConnectionNotificationState field's value.
  30211. func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
  30212. s.ConnectionNotificationState = &v
  30213. return s
  30214. }
  30215. // SetConnectionNotificationType sets the ConnectionNotificationType field's value.
  30216. func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
  30217. s.ConnectionNotificationType = &v
  30218. return s
  30219. }
  30220. // SetServiceId sets the ServiceId field's value.
  30221. func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
  30222. s.ServiceId = &v
  30223. return s
  30224. }
  30225. // SetVpcEndpointId sets the VpcEndpointId field's value.
  30226. func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
  30227. s.VpcEndpointId = &v
  30228. return s
  30229. }
  30230. // Describes a conversion task.
  30231. type ConversionTask struct {
  30232. _ struct{} `type:"structure"`
  30233. // The ID of the conversion task.
  30234. ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
  30235. // The time when the task expires. If the upload isn't complete before the expiration
  30236. // time, we automatically cancel the task.
  30237. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  30238. // If the task is for importing an instance, this contains information about
  30239. // the import instance task.
  30240. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  30241. // If the task is for importing a volume, this contains information about the
  30242. // import volume task.
  30243. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  30244. // The state of the conversion task.
  30245. State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
  30246. // The status message related to the conversion task.
  30247. StatusMessage *string `locationName:"statusMessage" type:"string"`
  30248. // Any tags assigned to the task.
  30249. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30250. }
  30251. // String returns the string representation
  30252. func (s ConversionTask) String() string {
  30253. return awsutil.Prettify(s)
  30254. }
  30255. // GoString returns the string representation
  30256. func (s ConversionTask) GoString() string {
  30257. return s.String()
  30258. }
  30259. // SetConversionTaskId sets the ConversionTaskId field's value.
  30260. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  30261. s.ConversionTaskId = &v
  30262. return s
  30263. }
  30264. // SetExpirationTime sets the ExpirationTime field's value.
  30265. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  30266. s.ExpirationTime = &v
  30267. return s
  30268. }
  30269. // SetImportInstance sets the ImportInstance field's value.
  30270. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  30271. s.ImportInstance = v
  30272. return s
  30273. }
  30274. // SetImportVolume sets the ImportVolume field's value.
  30275. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  30276. s.ImportVolume = v
  30277. return s
  30278. }
  30279. // SetState sets the State field's value.
  30280. func (s *ConversionTask) SetState(v string) *ConversionTask {
  30281. s.State = &v
  30282. return s
  30283. }
  30284. // SetStatusMessage sets the StatusMessage field's value.
  30285. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  30286. s.StatusMessage = &v
  30287. return s
  30288. }
  30289. // SetTags sets the Tags field's value.
  30290. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  30291. s.Tags = v
  30292. return s
  30293. }
  30294. type CopyFpgaImageInput struct {
  30295. _ struct{} `type:"structure"`
  30296. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  30297. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  30298. ClientToken *string `type:"string"`
  30299. // The description for the new AFI.
  30300. Description *string `type:"string"`
  30301. // Checks whether you have the required permissions for the action, without
  30302. // actually making the request, and provides an error response. If you have
  30303. // the required permissions, the error response is DryRunOperation. Otherwise,
  30304. // it is UnauthorizedOperation.
  30305. DryRun *bool `type:"boolean"`
  30306. // The name for the new AFI. The default is the name of the source AFI.
  30307. Name *string `type:"string"`
  30308. // The ID of the source AFI.
  30309. //
  30310. // SourceFpgaImageId is a required field
  30311. SourceFpgaImageId *string `type:"string" required:"true"`
  30312. // The region that contains the source AFI.
  30313. //
  30314. // SourceRegion is a required field
  30315. SourceRegion *string `type:"string" required:"true"`
  30316. }
  30317. // String returns the string representation
  30318. func (s CopyFpgaImageInput) String() string {
  30319. return awsutil.Prettify(s)
  30320. }
  30321. // GoString returns the string representation
  30322. func (s CopyFpgaImageInput) GoString() string {
  30323. return s.String()
  30324. }
  30325. // Validate inspects the fields of the type to determine if they are valid.
  30326. func (s *CopyFpgaImageInput) Validate() error {
  30327. invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
  30328. if s.SourceFpgaImageId == nil {
  30329. invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
  30330. }
  30331. if s.SourceRegion == nil {
  30332. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  30333. }
  30334. if invalidParams.Len() > 0 {
  30335. return invalidParams
  30336. }
  30337. return nil
  30338. }
  30339. // SetClientToken sets the ClientToken field's value.
  30340. func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
  30341. s.ClientToken = &v
  30342. return s
  30343. }
  30344. // SetDescription sets the Description field's value.
  30345. func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
  30346. s.Description = &v
  30347. return s
  30348. }
  30349. // SetDryRun sets the DryRun field's value.
  30350. func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
  30351. s.DryRun = &v
  30352. return s
  30353. }
  30354. // SetName sets the Name field's value.
  30355. func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
  30356. s.Name = &v
  30357. return s
  30358. }
  30359. // SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
  30360. func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
  30361. s.SourceFpgaImageId = &v
  30362. return s
  30363. }
  30364. // SetSourceRegion sets the SourceRegion field's value.
  30365. func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
  30366. s.SourceRegion = &v
  30367. return s
  30368. }
  30369. type CopyFpgaImageOutput struct {
  30370. _ struct{} `type:"structure"`
  30371. // The ID of the new AFI.
  30372. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  30373. }
  30374. // String returns the string representation
  30375. func (s CopyFpgaImageOutput) String() string {
  30376. return awsutil.Prettify(s)
  30377. }
  30378. // GoString returns the string representation
  30379. func (s CopyFpgaImageOutput) GoString() string {
  30380. return s.String()
  30381. }
  30382. // SetFpgaImageId sets the FpgaImageId field's value.
  30383. func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
  30384. s.FpgaImageId = &v
  30385. return s
  30386. }
  30387. // Contains the parameters for CopyImage.
  30388. type CopyImageInput struct {
  30389. _ struct{} `type:"structure"`
  30390. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  30391. // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  30392. // in the Amazon Elastic Compute Cloud User Guide.
  30393. ClientToken *string `type:"string"`
  30394. // A description for the new AMI in the destination region.
  30395. Description *string `type:"string"`
  30396. // Checks whether you have the required permissions for the action, without
  30397. // actually making the request, and provides an error response. If you have
  30398. // the required permissions, the error response is DryRunOperation. Otherwise,
  30399. // it is UnauthorizedOperation.
  30400. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30401. // Specifies whether the destination snapshots of the copied image should be
  30402. // encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
  30403. // create an unencrypted copy of an encrypted snapshot. The default CMK for
  30404. // EBS is used unless you specify a non-default AWS Key Management Service (AWS
  30405. // KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
  30406. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  30407. // in the Amazon Elastic Compute Cloud User Guide.
  30408. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  30409. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  30410. // key (CMK) to use when creating the encrypted volume. This parameter is only
  30411. // required if you want to use a non-default CMK; if this parameter is not specified,
  30412. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  30413. // flag must also be set.
  30414. //
  30415. // The CMK identifier may be provided in any of the following formats:
  30416. //
  30417. // * Key ID
  30418. //
  30419. // * Key alias, in the form alias/ExampleAlias
  30420. //
  30421. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  30422. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  30423. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  30424. //
  30425. //
  30426. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  30427. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  30428. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  30429. //
  30430. //
  30431. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  30432. // appear to complete even though you provided an invalid identifier. This action
  30433. // will eventually report failure.
  30434. //
  30435. // The specified CMK must exist in the region that the snapshot is being copied
  30436. // to.
  30437. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  30438. // The name of the new AMI in the destination region.
  30439. //
  30440. // Name is a required field
  30441. Name *string `type:"string" required:"true"`
  30442. // The ID of the AMI to copy.
  30443. //
  30444. // SourceImageId is a required field
  30445. SourceImageId *string `type:"string" required:"true"`
  30446. // The name of the region that contains the AMI to copy.
  30447. //
  30448. // SourceRegion is a required field
  30449. SourceRegion *string `type:"string" required:"true"`
  30450. }
  30451. // String returns the string representation
  30452. func (s CopyImageInput) String() string {
  30453. return awsutil.Prettify(s)
  30454. }
  30455. // GoString returns the string representation
  30456. func (s CopyImageInput) GoString() string {
  30457. return s.String()
  30458. }
  30459. // Validate inspects the fields of the type to determine if they are valid.
  30460. func (s *CopyImageInput) Validate() error {
  30461. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  30462. if s.Name == nil {
  30463. invalidParams.Add(request.NewErrParamRequired("Name"))
  30464. }
  30465. if s.SourceImageId == nil {
  30466. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  30467. }
  30468. if s.SourceRegion == nil {
  30469. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  30470. }
  30471. if invalidParams.Len() > 0 {
  30472. return invalidParams
  30473. }
  30474. return nil
  30475. }
  30476. // SetClientToken sets the ClientToken field's value.
  30477. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  30478. s.ClientToken = &v
  30479. return s
  30480. }
  30481. // SetDescription sets the Description field's value.
  30482. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  30483. s.Description = &v
  30484. return s
  30485. }
  30486. // SetDryRun sets the DryRun field's value.
  30487. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  30488. s.DryRun = &v
  30489. return s
  30490. }
  30491. // SetEncrypted sets the Encrypted field's value.
  30492. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  30493. s.Encrypted = &v
  30494. return s
  30495. }
  30496. // SetKmsKeyId sets the KmsKeyId field's value.
  30497. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  30498. s.KmsKeyId = &v
  30499. return s
  30500. }
  30501. // SetName sets the Name field's value.
  30502. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  30503. s.Name = &v
  30504. return s
  30505. }
  30506. // SetSourceImageId sets the SourceImageId field's value.
  30507. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  30508. s.SourceImageId = &v
  30509. return s
  30510. }
  30511. // SetSourceRegion sets the SourceRegion field's value.
  30512. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  30513. s.SourceRegion = &v
  30514. return s
  30515. }
  30516. // Contains the output of CopyImage.
  30517. type CopyImageOutput struct {
  30518. _ struct{} `type:"structure"`
  30519. // The ID of the new AMI.
  30520. ImageId *string `locationName:"imageId" type:"string"`
  30521. }
  30522. // String returns the string representation
  30523. func (s CopyImageOutput) String() string {
  30524. return awsutil.Prettify(s)
  30525. }
  30526. // GoString returns the string representation
  30527. func (s CopyImageOutput) GoString() string {
  30528. return s.String()
  30529. }
  30530. // SetImageId sets the ImageId field's value.
  30531. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  30532. s.ImageId = &v
  30533. return s
  30534. }
  30535. // Contains the parameters for CopySnapshot.
  30536. type CopySnapshotInput struct {
  30537. _ struct{} `type:"structure"`
  30538. // A description for the EBS snapshot.
  30539. Description *string `type:"string"`
  30540. // The destination Region to use in the PresignedUrl parameter of a snapshot
  30541. // copy operation. This parameter is only valid for specifying the destination
  30542. // Region in a PresignedUrl parameter, where it is required.
  30543. //
  30544. // The snapshot copy is sent to the regional endpoint that you sent the HTTP
  30545. // request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
  30546. // this is specified using the --region parameter or the default Region in your
  30547. // AWS configuration file.
  30548. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  30549. // Checks whether you have the required permissions for the action, without
  30550. // actually making the request, and provides an error response. If you have
  30551. // the required permissions, the error response is DryRunOperation. Otherwise,
  30552. // it is UnauthorizedOperation.
  30553. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30554. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  30555. // a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted
  30556. // copy of an encrypted snapshot. Your default CMK for EBS is used unless you
  30557. // specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId.
  30558. // For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  30559. // in the Amazon Elastic Compute Cloud User Guide.
  30560. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  30561. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  30562. // key (CMK) to use when creating the encrypted volume. This parameter is only
  30563. // required if you want to use a non-default CMK; if this parameter is not specified,
  30564. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  30565. // flag must also be set.
  30566. //
  30567. // The CMK identifier may be provided in any of the following formats:
  30568. //
  30569. // * Key ID
  30570. //
  30571. // * Key alias
  30572. //
  30573. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  30574. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  30575. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  30576. //
  30577. //
  30578. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  30579. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  30580. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  30581. //
  30582. //
  30583. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  30584. // appear to complete even though you provided an invalid identifier. The action
  30585. // will eventually fail.
  30586. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  30587. // When you copy an encrypted source snapshot using the Amazon EC2 Query API,
  30588. // you must supply a pre-signed URL. This parameter is optional for unencrypted
  30589. // snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
  30590. //
  30591. // The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
  30592. // action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
  30593. // parameters. The PresignedUrl must be signed using AWS Signature Version 4.
  30594. // Because EBS snapshots are stored in Amazon S3, the signing algorithm for
  30595. // this parameter uses the same logic that is described in Authenticating Requests
  30596. // by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  30597. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  30598. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  30599. // and the snapshot will move to an error state.
  30600. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  30601. // The ID of the Region that contains the snapshot to be copied.
  30602. //
  30603. // SourceRegion is a required field
  30604. SourceRegion *string `type:"string" required:"true"`
  30605. // The ID of the EBS snapshot to copy.
  30606. //
  30607. // SourceSnapshotId is a required field
  30608. SourceSnapshotId *string `type:"string" required:"true"`
  30609. }
  30610. // String returns the string representation
  30611. func (s CopySnapshotInput) String() string {
  30612. return awsutil.Prettify(s)
  30613. }
  30614. // GoString returns the string representation
  30615. func (s CopySnapshotInput) GoString() string {
  30616. return s.String()
  30617. }
  30618. // Validate inspects the fields of the type to determine if they are valid.
  30619. func (s *CopySnapshotInput) Validate() error {
  30620. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  30621. if s.SourceRegion == nil {
  30622. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  30623. }
  30624. if s.SourceSnapshotId == nil {
  30625. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  30626. }
  30627. if invalidParams.Len() > 0 {
  30628. return invalidParams
  30629. }
  30630. return nil
  30631. }
  30632. // SetDescription sets the Description field's value.
  30633. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  30634. s.Description = &v
  30635. return s
  30636. }
  30637. // SetDestinationRegion sets the DestinationRegion field's value.
  30638. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  30639. s.DestinationRegion = &v
  30640. return s
  30641. }
  30642. // SetDryRun sets the DryRun field's value.
  30643. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  30644. s.DryRun = &v
  30645. return s
  30646. }
  30647. // SetEncrypted sets the Encrypted field's value.
  30648. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  30649. s.Encrypted = &v
  30650. return s
  30651. }
  30652. // SetKmsKeyId sets the KmsKeyId field's value.
  30653. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  30654. s.KmsKeyId = &v
  30655. return s
  30656. }
  30657. // SetPresignedUrl sets the PresignedUrl field's value.
  30658. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  30659. s.PresignedUrl = &v
  30660. return s
  30661. }
  30662. // SetSourceRegion sets the SourceRegion field's value.
  30663. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  30664. s.SourceRegion = &v
  30665. return s
  30666. }
  30667. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  30668. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  30669. s.SourceSnapshotId = &v
  30670. return s
  30671. }
  30672. // Contains the output of CopySnapshot.
  30673. type CopySnapshotOutput struct {
  30674. _ struct{} `type:"structure"`
  30675. // The ID of the new snapshot.
  30676. SnapshotId *string `locationName:"snapshotId" type:"string"`
  30677. }
  30678. // String returns the string representation
  30679. func (s CopySnapshotOutput) String() string {
  30680. return awsutil.Prettify(s)
  30681. }
  30682. // GoString returns the string representation
  30683. func (s CopySnapshotOutput) GoString() string {
  30684. return s.String()
  30685. }
  30686. // SetSnapshotId sets the SnapshotId field's value.
  30687. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  30688. s.SnapshotId = &v
  30689. return s
  30690. }
  30691. // The CPU options for the instance.
  30692. type CpuOptions struct {
  30693. _ struct{} `type:"structure"`
  30694. // The number of CPU cores for the instance.
  30695. CoreCount *int64 `locationName:"coreCount" type:"integer"`
  30696. // The number of threads per CPU core.
  30697. ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
  30698. }
  30699. // String returns the string representation
  30700. func (s CpuOptions) String() string {
  30701. return awsutil.Prettify(s)
  30702. }
  30703. // GoString returns the string representation
  30704. func (s CpuOptions) GoString() string {
  30705. return s.String()
  30706. }
  30707. // SetCoreCount sets the CoreCount field's value.
  30708. func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
  30709. s.CoreCount = &v
  30710. return s
  30711. }
  30712. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  30713. func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
  30714. s.ThreadsPerCore = &v
  30715. return s
  30716. }
  30717. // The CPU options for the instance. Both the core count and threads per core
  30718. // must be specified in the request.
  30719. type CpuOptionsRequest struct {
  30720. _ struct{} `type:"structure"`
  30721. // The number of CPU cores for the instance.
  30722. CoreCount *int64 `type:"integer"`
  30723. // The number of threads per CPU core. To disable Intel Hyper-Threading Technology
  30724. // for the instance, specify a value of 1. Otherwise, specify the default value
  30725. // of 2.
  30726. ThreadsPerCore *int64 `type:"integer"`
  30727. }
  30728. // String returns the string representation
  30729. func (s CpuOptionsRequest) String() string {
  30730. return awsutil.Prettify(s)
  30731. }
  30732. // GoString returns the string representation
  30733. func (s CpuOptionsRequest) GoString() string {
  30734. return s.String()
  30735. }
  30736. // SetCoreCount sets the CoreCount field's value.
  30737. func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
  30738. s.CoreCount = &v
  30739. return s
  30740. }
  30741. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  30742. func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
  30743. s.ThreadsPerCore = &v
  30744. return s
  30745. }
  30746. type CreateCapacityReservationInput struct {
  30747. _ struct{} `type:"structure"`
  30748. // The Availability Zone in which to create the Capacity Reservation.
  30749. //
  30750. // AvailabilityZone is a required field
  30751. AvailabilityZone *string `type:"string" required:"true"`
  30752. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  30753. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  30754. //
  30755. // Constraint: Maximum 64 ASCII characters.
  30756. ClientToken *string `type:"string"`
  30757. // Checks whether you have the required permissions for the action, without
  30758. // actually making the request, and provides an error response. If you have
  30759. // the required permissions, the error response is DryRunOperation. Otherwise,
  30760. // it is UnauthorizedOperation.
  30761. DryRun *bool `type:"boolean"`
  30762. // Indicates whether the Capacity Reservation supports EBS-optimized instances.
  30763. // This optimization provides dedicated throughput to Amazon EBS and an optimized
  30764. // configuration stack to provide optimal I/O performance. This optimization
  30765. // isn't available with all instance types. Additional usage charges apply when
  30766. // using an EBS- optimized instance.
  30767. EbsOptimized *bool `type:"boolean"`
  30768. // The date and time at which the Capacity Reservation expires. When a Capacity
  30769. // Reservation expires, the reserved capacity is released and you can no longer
  30770. // launch instances into it. The Capacity Reservation's state changes to expired
  30771. // when it reaches its end date and time.
  30772. //
  30773. // You must provide an EndDate value if EndDateType is limited. Omit EndDate
  30774. // if EndDateType is unlimited.
  30775. //
  30776. // If the EndDateType is limited, the Capacity Reservation is cancelled within
  30777. // an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
  30778. // the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
  30779. // on 5/31/2019.
  30780. EndDate *time.Time `type:"timestamp"`
  30781. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  30782. // can have one of the following end types:
  30783. //
  30784. // * unlimited - The Capacity Reservation remains active until you explicitly
  30785. // cancel it. Do not provide an EndDate if the EndDateType is unlimited.
  30786. //
  30787. // * limited - The Capacity Reservation expires automatically at a specified
  30788. // date and time. You must provide an EndDate value if the EndDateType value
  30789. // is limited.
  30790. EndDateType *string `type:"string" enum:"EndDateType"`
  30791. // Indicates whether the Capacity Reservation supports instances with temporary,
  30792. // block-level storage.
  30793. EphemeralStorage *bool `type:"boolean"`
  30794. // The number of instances for which to reserve capacity.
  30795. //
  30796. // InstanceCount is a required field
  30797. InstanceCount *int64 `type:"integer" required:"true"`
  30798. // Indicates the type of instance launches that the Capacity Reservation accepts.
  30799. // The options include:
  30800. //
  30801. // * open - The Capacity Reservation automatically matches all instances
  30802. // that have matching attributes (instance type, platform, and Availability
  30803. // Zone). Instances that have matching attributes run in the Capacity Reservation
  30804. // automatically without specifying any additional parameters.
  30805. //
  30806. // * targeted - The Capacity Reservation only accepts instances that have
  30807. // matching attributes (instance type, platform, and Availability Zone),
  30808. // and explicitly target the Capacity Reservation. This ensures that only
  30809. // permitted instances can use the reserved capacity.
  30810. //
  30811. // Default: open
  30812. InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
  30813. // The type of operating system for which to reserve capacity.
  30814. //
  30815. // InstancePlatform is a required field
  30816. InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
  30817. // The instance type for which to reserve capacity. For more information, see
  30818. // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  30819. // in the Amazon Elastic Compute Cloud User Guide.
  30820. //
  30821. // InstanceType is a required field
  30822. InstanceType *string `type:"string" required:"true"`
  30823. // The tags to apply to the Capacity Reservation during launch.
  30824. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  30825. // Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
  30826. // can have one of the following tenancy settings:
  30827. //
  30828. // * default - The Capacity Reservation is created on hardware that is shared
  30829. // with other AWS accounts.
  30830. //
  30831. // * dedicated - The Capacity Reservation is created on single-tenant hardware
  30832. // that is dedicated to a single AWS account.
  30833. Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
  30834. }
  30835. // String returns the string representation
  30836. func (s CreateCapacityReservationInput) String() string {
  30837. return awsutil.Prettify(s)
  30838. }
  30839. // GoString returns the string representation
  30840. func (s CreateCapacityReservationInput) GoString() string {
  30841. return s.String()
  30842. }
  30843. // Validate inspects the fields of the type to determine if they are valid.
  30844. func (s *CreateCapacityReservationInput) Validate() error {
  30845. invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
  30846. if s.AvailabilityZone == nil {
  30847. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  30848. }
  30849. if s.InstanceCount == nil {
  30850. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  30851. }
  30852. if s.InstancePlatform == nil {
  30853. invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
  30854. }
  30855. if s.InstanceType == nil {
  30856. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  30857. }
  30858. if invalidParams.Len() > 0 {
  30859. return invalidParams
  30860. }
  30861. return nil
  30862. }
  30863. // SetAvailabilityZone sets the AvailabilityZone field's value.
  30864. func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
  30865. s.AvailabilityZone = &v
  30866. return s
  30867. }
  30868. // SetClientToken sets the ClientToken field's value.
  30869. func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
  30870. s.ClientToken = &v
  30871. return s
  30872. }
  30873. // SetDryRun sets the DryRun field's value.
  30874. func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
  30875. s.DryRun = &v
  30876. return s
  30877. }
  30878. // SetEbsOptimized sets the EbsOptimized field's value.
  30879. func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
  30880. s.EbsOptimized = &v
  30881. return s
  30882. }
  30883. // SetEndDate sets the EndDate field's value.
  30884. func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
  30885. s.EndDate = &v
  30886. return s
  30887. }
  30888. // SetEndDateType sets the EndDateType field's value.
  30889. func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
  30890. s.EndDateType = &v
  30891. return s
  30892. }
  30893. // SetEphemeralStorage sets the EphemeralStorage field's value.
  30894. func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
  30895. s.EphemeralStorage = &v
  30896. return s
  30897. }
  30898. // SetInstanceCount sets the InstanceCount field's value.
  30899. func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
  30900. s.InstanceCount = &v
  30901. return s
  30902. }
  30903. // SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
  30904. func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
  30905. s.InstanceMatchCriteria = &v
  30906. return s
  30907. }
  30908. // SetInstancePlatform sets the InstancePlatform field's value.
  30909. func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
  30910. s.InstancePlatform = &v
  30911. return s
  30912. }
  30913. // SetInstanceType sets the InstanceType field's value.
  30914. func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
  30915. s.InstanceType = &v
  30916. return s
  30917. }
  30918. // SetTagSpecifications sets the TagSpecifications field's value.
  30919. func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
  30920. s.TagSpecifications = v
  30921. return s
  30922. }
  30923. // SetTenancy sets the Tenancy field's value.
  30924. func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
  30925. s.Tenancy = &v
  30926. return s
  30927. }
  30928. type CreateCapacityReservationOutput struct {
  30929. _ struct{} `type:"structure"`
  30930. // Information about the Capacity Reservation.
  30931. CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
  30932. }
  30933. // String returns the string representation
  30934. func (s CreateCapacityReservationOutput) String() string {
  30935. return awsutil.Prettify(s)
  30936. }
  30937. // GoString returns the string representation
  30938. func (s CreateCapacityReservationOutput) GoString() string {
  30939. return s.String()
  30940. }
  30941. // SetCapacityReservation sets the CapacityReservation field's value.
  30942. func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
  30943. s.CapacityReservation = v
  30944. return s
  30945. }
  30946. type CreateClientVpnEndpointInput struct {
  30947. _ struct{} `type:"structure"`
  30948. // Information about the authentication method to be used to authenticate clients.
  30949. //
  30950. // AuthenticationOptions is a required field
  30951. AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
  30952. // The IPv4 address range, in CIDR notation, from which to assign client IP
  30953. // addresses. The address range cannot overlap with the local CIDR of the VPC
  30954. // in which the associated subnet is located, or the routes that you add manually.
  30955. // The address range cannot be changed after the Client VPN endpoint has been
  30956. // created. The CIDR block should be /22 or greater.
  30957. //
  30958. // ClientCidrBlock is a required field
  30959. ClientCidrBlock *string `type:"string" required:"true"`
  30960. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  30961. // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  30962. ClientToken *string `type:"string" idempotencyToken:"true"`
  30963. // Information about the client connection logging options.
  30964. //
  30965. // If you enable client connection logging, data about client connections is
  30966. // sent to a Cloudwatch Logs log stream. The following information is logged:
  30967. //
  30968. // * Client connection requests
  30969. //
  30970. // * Client connection results (successful and unsuccessful)
  30971. //
  30972. // * Reasons for unsuccessful client connection requests
  30973. //
  30974. // * Client connection termination time
  30975. //
  30976. // ConnectionLogOptions is a required field
  30977. ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
  30978. // A brief description of the Client VPN endpoint.
  30979. Description *string `type:"string"`
  30980. // Information about the DNS servers to be used for DNS resolution. A Client
  30981. // VPN endpoint can have up to two DNS servers. If no DNS server is specified,
  30982. // the DNS address of the VPC that is to be associated with Client VPN endpoint
  30983. // is used as the DNS server.
  30984. DnsServers []*string `locationNameList:"item" type:"list"`
  30985. // Checks whether you have the required permissions for the action, without
  30986. // actually making the request, and provides an error response. If you have
  30987. // the required permissions, the error response is DryRunOperation. Otherwise,
  30988. // it is UnauthorizedOperation.
  30989. DryRun *bool `type:"boolean"`
  30990. // The ARN of the server certificate. For more information, see the AWS Certificate
  30991. // Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
  30992. //
  30993. // ServerCertificateArn is a required field
  30994. ServerCertificateArn *string `type:"string" required:"true"`
  30995. // The tags to apply to the Client VPN endpoint during creation.
  30996. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  30997. // The transport protocol to be used by the VPN session.
  30998. //
  30999. // Default value: udp
  31000. TransportProtocol *string `type:"string" enum:"TransportProtocol"`
  31001. }
  31002. // String returns the string representation
  31003. func (s CreateClientVpnEndpointInput) String() string {
  31004. return awsutil.Prettify(s)
  31005. }
  31006. // GoString returns the string representation
  31007. func (s CreateClientVpnEndpointInput) GoString() string {
  31008. return s.String()
  31009. }
  31010. // Validate inspects the fields of the type to determine if they are valid.
  31011. func (s *CreateClientVpnEndpointInput) Validate() error {
  31012. invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
  31013. if s.AuthenticationOptions == nil {
  31014. invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
  31015. }
  31016. if s.ClientCidrBlock == nil {
  31017. invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
  31018. }
  31019. if s.ConnectionLogOptions == nil {
  31020. invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
  31021. }
  31022. if s.ServerCertificateArn == nil {
  31023. invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
  31024. }
  31025. if invalidParams.Len() > 0 {
  31026. return invalidParams
  31027. }
  31028. return nil
  31029. }
  31030. // SetAuthenticationOptions sets the AuthenticationOptions field's value.
  31031. func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
  31032. s.AuthenticationOptions = v
  31033. return s
  31034. }
  31035. // SetClientCidrBlock sets the ClientCidrBlock field's value.
  31036. func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
  31037. s.ClientCidrBlock = &v
  31038. return s
  31039. }
  31040. // SetClientToken sets the ClientToken field's value.
  31041. func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
  31042. s.ClientToken = &v
  31043. return s
  31044. }
  31045. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  31046. func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
  31047. s.ConnectionLogOptions = v
  31048. return s
  31049. }
  31050. // SetDescription sets the Description field's value.
  31051. func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
  31052. s.Description = &v
  31053. return s
  31054. }
  31055. // SetDnsServers sets the DnsServers field's value.
  31056. func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
  31057. s.DnsServers = v
  31058. return s
  31059. }
  31060. // SetDryRun sets the DryRun field's value.
  31061. func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
  31062. s.DryRun = &v
  31063. return s
  31064. }
  31065. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  31066. func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
  31067. s.ServerCertificateArn = &v
  31068. return s
  31069. }
  31070. // SetTagSpecifications sets the TagSpecifications field's value.
  31071. func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
  31072. s.TagSpecifications = v
  31073. return s
  31074. }
  31075. // SetTransportProtocol sets the TransportProtocol field's value.
  31076. func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
  31077. s.TransportProtocol = &v
  31078. return s
  31079. }
  31080. type CreateClientVpnEndpointOutput struct {
  31081. _ struct{} `type:"structure"`
  31082. // The ID of the Client VPN endpoint.
  31083. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  31084. // The DNS name to be used by clients when establishing their VPN session.
  31085. DnsName *string `locationName:"dnsName" type:"string"`
  31086. // The current state of the Client VPN endpoint.
  31087. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  31088. }
  31089. // String returns the string representation
  31090. func (s CreateClientVpnEndpointOutput) String() string {
  31091. return awsutil.Prettify(s)
  31092. }
  31093. // GoString returns the string representation
  31094. func (s CreateClientVpnEndpointOutput) GoString() string {
  31095. return s.String()
  31096. }
  31097. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  31098. func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
  31099. s.ClientVpnEndpointId = &v
  31100. return s
  31101. }
  31102. // SetDnsName sets the DnsName field's value.
  31103. func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
  31104. s.DnsName = &v
  31105. return s
  31106. }
  31107. // SetStatus sets the Status field's value.
  31108. func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
  31109. s.Status = v
  31110. return s
  31111. }
  31112. type CreateClientVpnRouteInput struct {
  31113. _ struct{} `type:"structure"`
  31114. // The ID of the Client VPN endpoint to which to add the route.
  31115. //
  31116. // ClientVpnEndpointId is a required field
  31117. ClientVpnEndpointId *string `type:"string" required:"true"`
  31118. // A brief description of the route.
  31119. Description *string `type:"string"`
  31120. // The IPv4 address range, in CIDR notation, of the route destination. For example:
  31121. //
  31122. // * To add a route for Internet access, enter 0.0.0.0/0
  31123. //
  31124. // * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
  31125. //
  31126. // * To add a route for an on-premises network, enter the AWS Site-to-Site
  31127. // VPN connection's IPv4 CIDR range
  31128. //
  31129. // Route address ranges cannot overlap with the CIDR range specified for client
  31130. // allocation.
  31131. //
  31132. // DestinationCidrBlock is a required field
  31133. DestinationCidrBlock *string `type:"string" required:"true"`
  31134. // Checks whether you have the required permissions for the action, without
  31135. // actually making the request, and provides an error response. If you have
  31136. // the required permissions, the error response is DryRunOperation. Otherwise,
  31137. // it is UnauthorizedOperation.
  31138. DryRun *bool `type:"boolean"`
  31139. // The ID of the subnet through which you want to route traffic. The specified
  31140. // subnet must be an existing target network of the Client VPN endpoint.
  31141. //
  31142. // TargetVpcSubnetId is a required field
  31143. TargetVpcSubnetId *string `type:"string" required:"true"`
  31144. }
  31145. // String returns the string representation
  31146. func (s CreateClientVpnRouteInput) String() string {
  31147. return awsutil.Prettify(s)
  31148. }
  31149. // GoString returns the string representation
  31150. func (s CreateClientVpnRouteInput) GoString() string {
  31151. return s.String()
  31152. }
  31153. // Validate inspects the fields of the type to determine if they are valid.
  31154. func (s *CreateClientVpnRouteInput) Validate() error {
  31155. invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
  31156. if s.ClientVpnEndpointId == nil {
  31157. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  31158. }
  31159. if s.DestinationCidrBlock == nil {
  31160. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  31161. }
  31162. if s.TargetVpcSubnetId == nil {
  31163. invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
  31164. }
  31165. if invalidParams.Len() > 0 {
  31166. return invalidParams
  31167. }
  31168. return nil
  31169. }
  31170. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  31171. func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
  31172. s.ClientVpnEndpointId = &v
  31173. return s
  31174. }
  31175. // SetDescription sets the Description field's value.
  31176. func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
  31177. s.Description = &v
  31178. return s
  31179. }
  31180. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  31181. func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
  31182. s.DestinationCidrBlock = &v
  31183. return s
  31184. }
  31185. // SetDryRun sets the DryRun field's value.
  31186. func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
  31187. s.DryRun = &v
  31188. return s
  31189. }
  31190. // SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
  31191. func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
  31192. s.TargetVpcSubnetId = &v
  31193. return s
  31194. }
  31195. type CreateClientVpnRouteOutput struct {
  31196. _ struct{} `type:"structure"`
  31197. // The current state of the route.
  31198. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  31199. }
  31200. // String returns the string representation
  31201. func (s CreateClientVpnRouteOutput) String() string {
  31202. return awsutil.Prettify(s)
  31203. }
  31204. // GoString returns the string representation
  31205. func (s CreateClientVpnRouteOutput) GoString() string {
  31206. return s.String()
  31207. }
  31208. // SetStatus sets the Status field's value.
  31209. func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
  31210. s.Status = v
  31211. return s
  31212. }
  31213. // Contains the parameters for CreateCustomerGateway.
  31214. type CreateCustomerGatewayInput struct {
  31215. _ struct{} `type:"structure"`
  31216. // For devices that support BGP, the customer gateway's BGP ASN.
  31217. //
  31218. // Default: 65000
  31219. //
  31220. // BgpAsn is a required field
  31221. BgpAsn *int64 `type:"integer" required:"true"`
  31222. // Checks whether you have the required permissions for the action, without
  31223. // actually making the request, and provides an error response. If you have
  31224. // the required permissions, the error response is DryRunOperation. Otherwise,
  31225. // it is UnauthorizedOperation.
  31226. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31227. // The Internet-routable IP address for the customer gateway's outside interface.
  31228. // The address must be static.
  31229. //
  31230. // PublicIp is a required field
  31231. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  31232. // The type of VPN connection that this customer gateway supports (ipsec.1).
  31233. //
  31234. // Type is a required field
  31235. Type *string `type:"string" required:"true" enum:"GatewayType"`
  31236. }
  31237. // String returns the string representation
  31238. func (s CreateCustomerGatewayInput) String() string {
  31239. return awsutil.Prettify(s)
  31240. }
  31241. // GoString returns the string representation
  31242. func (s CreateCustomerGatewayInput) GoString() string {
  31243. return s.String()
  31244. }
  31245. // Validate inspects the fields of the type to determine if they are valid.
  31246. func (s *CreateCustomerGatewayInput) Validate() error {
  31247. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  31248. if s.BgpAsn == nil {
  31249. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  31250. }
  31251. if s.PublicIp == nil {
  31252. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  31253. }
  31254. if s.Type == nil {
  31255. invalidParams.Add(request.NewErrParamRequired("Type"))
  31256. }
  31257. if invalidParams.Len() > 0 {
  31258. return invalidParams
  31259. }
  31260. return nil
  31261. }
  31262. // SetBgpAsn sets the BgpAsn field's value.
  31263. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  31264. s.BgpAsn = &v
  31265. return s
  31266. }
  31267. // SetDryRun sets the DryRun field's value.
  31268. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  31269. s.DryRun = &v
  31270. return s
  31271. }
  31272. // SetPublicIp sets the PublicIp field's value.
  31273. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  31274. s.PublicIp = &v
  31275. return s
  31276. }
  31277. // SetType sets the Type field's value.
  31278. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  31279. s.Type = &v
  31280. return s
  31281. }
  31282. // Contains the output of CreateCustomerGateway.
  31283. type CreateCustomerGatewayOutput struct {
  31284. _ struct{} `type:"structure"`
  31285. // Information about the customer gateway.
  31286. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  31287. }
  31288. // String returns the string representation
  31289. func (s CreateCustomerGatewayOutput) String() string {
  31290. return awsutil.Prettify(s)
  31291. }
  31292. // GoString returns the string representation
  31293. func (s CreateCustomerGatewayOutput) GoString() string {
  31294. return s.String()
  31295. }
  31296. // SetCustomerGateway sets the CustomerGateway field's value.
  31297. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  31298. s.CustomerGateway = v
  31299. return s
  31300. }
  31301. type CreateDefaultSubnetInput struct {
  31302. _ struct{} `type:"structure"`
  31303. // The Availability Zone in which to create the default subnet.
  31304. //
  31305. // AvailabilityZone is a required field
  31306. AvailabilityZone *string `type:"string" required:"true"`
  31307. // Checks whether you have the required permissions for the action, without
  31308. // actually making the request, and provides an error response. If you have
  31309. // the required permissions, the error response is DryRunOperation. Otherwise,
  31310. // it is UnauthorizedOperation.
  31311. DryRun *bool `type:"boolean"`
  31312. }
  31313. // String returns the string representation
  31314. func (s CreateDefaultSubnetInput) String() string {
  31315. return awsutil.Prettify(s)
  31316. }
  31317. // GoString returns the string representation
  31318. func (s CreateDefaultSubnetInput) GoString() string {
  31319. return s.String()
  31320. }
  31321. // Validate inspects the fields of the type to determine if they are valid.
  31322. func (s *CreateDefaultSubnetInput) Validate() error {
  31323. invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
  31324. if s.AvailabilityZone == nil {
  31325. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  31326. }
  31327. if invalidParams.Len() > 0 {
  31328. return invalidParams
  31329. }
  31330. return nil
  31331. }
  31332. // SetAvailabilityZone sets the AvailabilityZone field's value.
  31333. func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
  31334. s.AvailabilityZone = &v
  31335. return s
  31336. }
  31337. // SetDryRun sets the DryRun field's value.
  31338. func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
  31339. s.DryRun = &v
  31340. return s
  31341. }
  31342. type CreateDefaultSubnetOutput struct {
  31343. _ struct{} `type:"structure"`
  31344. // Information about the subnet.
  31345. Subnet *Subnet `locationName:"subnet" type:"structure"`
  31346. }
  31347. // String returns the string representation
  31348. func (s CreateDefaultSubnetOutput) String() string {
  31349. return awsutil.Prettify(s)
  31350. }
  31351. // GoString returns the string representation
  31352. func (s CreateDefaultSubnetOutput) GoString() string {
  31353. return s.String()
  31354. }
  31355. // SetSubnet sets the Subnet field's value.
  31356. func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
  31357. s.Subnet = v
  31358. return s
  31359. }
  31360. type CreateDefaultVpcInput struct {
  31361. _ struct{} `type:"structure"`
  31362. // Checks whether you have the required permissions for the action, without
  31363. // actually making the request, and provides an error response. If you have
  31364. // the required permissions, the error response is DryRunOperation. Otherwise,
  31365. // it is UnauthorizedOperation.
  31366. DryRun *bool `type:"boolean"`
  31367. }
  31368. // String returns the string representation
  31369. func (s CreateDefaultVpcInput) String() string {
  31370. return awsutil.Prettify(s)
  31371. }
  31372. // GoString returns the string representation
  31373. func (s CreateDefaultVpcInput) GoString() string {
  31374. return s.String()
  31375. }
  31376. // SetDryRun sets the DryRun field's value.
  31377. func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
  31378. s.DryRun = &v
  31379. return s
  31380. }
  31381. type CreateDefaultVpcOutput struct {
  31382. _ struct{} `type:"structure"`
  31383. // Information about the VPC.
  31384. Vpc *Vpc `locationName:"vpc" type:"structure"`
  31385. }
  31386. // String returns the string representation
  31387. func (s CreateDefaultVpcOutput) String() string {
  31388. return awsutil.Prettify(s)
  31389. }
  31390. // GoString returns the string representation
  31391. func (s CreateDefaultVpcOutput) GoString() string {
  31392. return s.String()
  31393. }
  31394. // SetVpc sets the Vpc field's value.
  31395. func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
  31396. s.Vpc = v
  31397. return s
  31398. }
  31399. type CreateDhcpOptionsInput struct {
  31400. _ struct{} `type:"structure"`
  31401. // A DHCP configuration option.
  31402. //
  31403. // DhcpConfigurations is a required field
  31404. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  31405. // Checks whether you have the required permissions for the action, without
  31406. // actually making the request, and provides an error response. If you have
  31407. // the required permissions, the error response is DryRunOperation. Otherwise,
  31408. // it is UnauthorizedOperation.
  31409. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31410. }
  31411. // String returns the string representation
  31412. func (s CreateDhcpOptionsInput) String() string {
  31413. return awsutil.Prettify(s)
  31414. }
  31415. // GoString returns the string representation
  31416. func (s CreateDhcpOptionsInput) GoString() string {
  31417. return s.String()
  31418. }
  31419. // Validate inspects the fields of the type to determine if they are valid.
  31420. func (s *CreateDhcpOptionsInput) Validate() error {
  31421. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  31422. if s.DhcpConfigurations == nil {
  31423. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  31424. }
  31425. if invalidParams.Len() > 0 {
  31426. return invalidParams
  31427. }
  31428. return nil
  31429. }
  31430. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  31431. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  31432. s.DhcpConfigurations = v
  31433. return s
  31434. }
  31435. // SetDryRun sets the DryRun field's value.
  31436. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  31437. s.DryRun = &v
  31438. return s
  31439. }
  31440. type CreateDhcpOptionsOutput struct {
  31441. _ struct{} `type:"structure"`
  31442. // A set of DHCP options.
  31443. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  31444. }
  31445. // String returns the string representation
  31446. func (s CreateDhcpOptionsOutput) String() string {
  31447. return awsutil.Prettify(s)
  31448. }
  31449. // GoString returns the string representation
  31450. func (s CreateDhcpOptionsOutput) GoString() string {
  31451. return s.String()
  31452. }
  31453. // SetDhcpOptions sets the DhcpOptions field's value.
  31454. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  31455. s.DhcpOptions = v
  31456. return s
  31457. }
  31458. type CreateEgressOnlyInternetGatewayInput struct {
  31459. _ struct{} `type:"structure"`
  31460. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  31461. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  31462. ClientToken *string `type:"string"`
  31463. // Checks whether you have the required permissions for the action, without
  31464. // actually making the request, and provides an error response. If you have
  31465. // the required permissions, the error response is DryRunOperation. Otherwise,
  31466. // it is UnauthorizedOperation.
  31467. DryRun *bool `type:"boolean"`
  31468. // The ID of the VPC for which to create the egress-only internet gateway.
  31469. //
  31470. // VpcId is a required field
  31471. VpcId *string `type:"string" required:"true"`
  31472. }
  31473. // String returns the string representation
  31474. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  31475. return awsutil.Prettify(s)
  31476. }
  31477. // GoString returns the string representation
  31478. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  31479. return s.String()
  31480. }
  31481. // Validate inspects the fields of the type to determine if they are valid.
  31482. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  31483. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  31484. if s.VpcId == nil {
  31485. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31486. }
  31487. if invalidParams.Len() > 0 {
  31488. return invalidParams
  31489. }
  31490. return nil
  31491. }
  31492. // SetClientToken sets the ClientToken field's value.
  31493. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  31494. s.ClientToken = &v
  31495. return s
  31496. }
  31497. // SetDryRun sets the DryRun field's value.
  31498. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  31499. s.DryRun = &v
  31500. return s
  31501. }
  31502. // SetVpcId sets the VpcId field's value.
  31503. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  31504. s.VpcId = &v
  31505. return s
  31506. }
  31507. type CreateEgressOnlyInternetGatewayOutput struct {
  31508. _ struct{} `type:"structure"`
  31509. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  31510. // of the request.
  31511. ClientToken *string `locationName:"clientToken" type:"string"`
  31512. // Information about the egress-only internet gateway.
  31513. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  31514. }
  31515. // String returns the string representation
  31516. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  31517. return awsutil.Prettify(s)
  31518. }
  31519. // GoString returns the string representation
  31520. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  31521. return s.String()
  31522. }
  31523. // SetClientToken sets the ClientToken field's value.
  31524. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  31525. s.ClientToken = &v
  31526. return s
  31527. }
  31528. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  31529. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  31530. s.EgressOnlyInternetGateway = v
  31531. return s
  31532. }
  31533. // Describes the instances that could not be launched by the fleet.
  31534. type CreateFleetError struct {
  31535. _ struct{} `type:"structure"`
  31536. // The error code that indicates why the instance could not be launched. For
  31537. // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  31538. ErrorCode *string `locationName:"errorCode" type:"string"`
  31539. // The error message that describes why the instance could not be launched.
  31540. // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  31541. ErrorMessage *string `locationName:"errorMessage" type:"string"`
  31542. // The launch templates and overrides that were used for launching the instances.
  31543. // Any parameters that you specify in the Overrides override the same parameters
  31544. // in the launch template.
  31545. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  31546. // Indicates if the instance that could not be launched was a Spot Instance
  31547. // or On-Demand Instance.
  31548. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  31549. }
  31550. // String returns the string representation
  31551. func (s CreateFleetError) String() string {
  31552. return awsutil.Prettify(s)
  31553. }
  31554. // GoString returns the string representation
  31555. func (s CreateFleetError) GoString() string {
  31556. return s.String()
  31557. }
  31558. // SetErrorCode sets the ErrorCode field's value.
  31559. func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
  31560. s.ErrorCode = &v
  31561. return s
  31562. }
  31563. // SetErrorMessage sets the ErrorMessage field's value.
  31564. func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
  31565. s.ErrorMessage = &v
  31566. return s
  31567. }
  31568. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  31569. func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
  31570. s.LaunchTemplateAndOverrides = v
  31571. return s
  31572. }
  31573. // SetLifecycle sets the Lifecycle field's value.
  31574. func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
  31575. s.Lifecycle = &v
  31576. return s
  31577. }
  31578. type CreateFleetInput struct {
  31579. _ struct{} `type:"structure"`
  31580. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  31581. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  31582. ClientToken *string `type:"string"`
  31583. // Checks whether you have the required permissions for the action, without
  31584. // actually making the request, and provides an error response. If you have
  31585. // the required permissions, the error response is DryRunOperation. Otherwise,
  31586. // it is UnauthorizedOperation.
  31587. DryRun *bool `type:"boolean"`
  31588. // Indicates whether running instances should be terminated if the total target
  31589. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  31590. // Fleet.
  31591. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  31592. // The configuration for the EC2 Fleet.
  31593. //
  31594. // LaunchTemplateConfigs is a required field
  31595. LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
  31596. // The allocation strategy of On-Demand Instances in an EC2 Fleet.
  31597. OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
  31598. // Indicates whether EC2 Fleet should replace unhealthy instances.
  31599. ReplaceUnhealthyInstances *bool `type:"boolean"`
  31600. // Describes the configuration of Spot Instances in an EC2 Fleet.
  31601. SpotOptions *SpotOptionsRequest `type:"structure"`
  31602. // The key-value pair for tagging the EC2 Fleet request on creation. The value
  31603. // for ResourceType must be fleet, otherwise the fleet request fails. To tag
  31604. // 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).
  31605. // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
  31606. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  31607. // The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and
  31608. // DefaultCapacityType structure.
  31609. //
  31610. // TargetCapacitySpecification is a required field
  31611. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  31612. // Indicates whether running instances should be terminated when the EC2 Fleet
  31613. // expires.
  31614. TerminateInstancesWithExpiration *bool `type:"boolean"`
  31615. // The type of the request. By default, the EC2 Fleet places an asynchronous
  31616. // request for your desired capacity, and maintains it by replenishing interrupted
  31617. // Spot Instances (maintain). A value of instant places a synchronous one-time
  31618. // request, and returns errors for any instances that could not be launched.
  31619. // A value of request places an asynchronous one-time request without maintaining
  31620. // capacity or submitting requests in alternative capacity pools if capacity
  31621. // 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)
  31622. // in the Amazon Elastic Compute Cloud User Guide.
  31623. Type *string `type:"string" enum:"FleetType"`
  31624. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31625. // The default is to start fulfilling the request immediately.
  31626. ValidFrom *time.Time `type:"timestamp"`
  31627. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31628. // At this point, no new EC2 Fleet requests are placed or able to fulfill the
  31629. // request. If no value is specified, the request remains until you cancel it.
  31630. ValidUntil *time.Time `type:"timestamp"`
  31631. }
  31632. // String returns the string representation
  31633. func (s CreateFleetInput) String() string {
  31634. return awsutil.Prettify(s)
  31635. }
  31636. // GoString returns the string representation
  31637. func (s CreateFleetInput) GoString() string {
  31638. return s.String()
  31639. }
  31640. // Validate inspects the fields of the type to determine if they are valid.
  31641. func (s *CreateFleetInput) Validate() error {
  31642. invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
  31643. if s.LaunchTemplateConfigs == nil {
  31644. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
  31645. }
  31646. if s.TargetCapacitySpecification == nil {
  31647. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  31648. }
  31649. if s.LaunchTemplateConfigs != nil {
  31650. for i, v := range s.LaunchTemplateConfigs {
  31651. if v == nil {
  31652. continue
  31653. }
  31654. if err := v.Validate(); err != nil {
  31655. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  31656. }
  31657. }
  31658. }
  31659. if s.TargetCapacitySpecification != nil {
  31660. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  31661. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  31662. }
  31663. }
  31664. if invalidParams.Len() > 0 {
  31665. return invalidParams
  31666. }
  31667. return nil
  31668. }
  31669. // SetClientToken sets the ClientToken field's value.
  31670. func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
  31671. s.ClientToken = &v
  31672. return s
  31673. }
  31674. // SetDryRun sets the DryRun field's value.
  31675. func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
  31676. s.DryRun = &v
  31677. return s
  31678. }
  31679. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  31680. func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
  31681. s.ExcessCapacityTerminationPolicy = &v
  31682. return s
  31683. }
  31684. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  31685. func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
  31686. s.LaunchTemplateConfigs = v
  31687. return s
  31688. }
  31689. // SetOnDemandOptions sets the OnDemandOptions field's value.
  31690. func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
  31691. s.OnDemandOptions = v
  31692. return s
  31693. }
  31694. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  31695. func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
  31696. s.ReplaceUnhealthyInstances = &v
  31697. return s
  31698. }
  31699. // SetSpotOptions sets the SpotOptions field's value.
  31700. func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
  31701. s.SpotOptions = v
  31702. return s
  31703. }
  31704. // SetTagSpecifications sets the TagSpecifications field's value.
  31705. func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
  31706. s.TagSpecifications = v
  31707. return s
  31708. }
  31709. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  31710. func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
  31711. s.TargetCapacitySpecification = v
  31712. return s
  31713. }
  31714. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  31715. func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
  31716. s.TerminateInstancesWithExpiration = &v
  31717. return s
  31718. }
  31719. // SetType sets the Type field's value.
  31720. func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
  31721. s.Type = &v
  31722. return s
  31723. }
  31724. // SetValidFrom sets the ValidFrom field's value.
  31725. func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
  31726. s.ValidFrom = &v
  31727. return s
  31728. }
  31729. // SetValidUntil sets the ValidUntil field's value.
  31730. func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
  31731. s.ValidUntil = &v
  31732. return s
  31733. }
  31734. // Describes the instances that were launched by the fleet.
  31735. type CreateFleetInstance struct {
  31736. _ struct{} `type:"structure"`
  31737. // The IDs of the instances.
  31738. InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
  31739. // The instance type.
  31740. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  31741. // The launch templates and overrides that were used for launching the instances.
  31742. // Any parameters that you specify in the Overrides override the same parameters
  31743. // in the launch template.
  31744. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  31745. // Indicates if the instance that was launched is a Spot Instance or On-Demand
  31746. // Instance.
  31747. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  31748. // The value is Windows for Windows instances; otherwise blank.
  31749. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  31750. }
  31751. // String returns the string representation
  31752. func (s CreateFleetInstance) String() string {
  31753. return awsutil.Prettify(s)
  31754. }
  31755. // GoString returns the string representation
  31756. func (s CreateFleetInstance) GoString() string {
  31757. return s.String()
  31758. }
  31759. // SetInstanceIds sets the InstanceIds field's value.
  31760. func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
  31761. s.InstanceIds = v
  31762. return s
  31763. }
  31764. // SetInstanceType sets the InstanceType field's value.
  31765. func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
  31766. s.InstanceType = &v
  31767. return s
  31768. }
  31769. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  31770. func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
  31771. s.LaunchTemplateAndOverrides = v
  31772. return s
  31773. }
  31774. // SetLifecycle sets the Lifecycle field's value.
  31775. func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
  31776. s.Lifecycle = &v
  31777. return s
  31778. }
  31779. // SetPlatform sets the Platform field's value.
  31780. func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
  31781. s.Platform = &v
  31782. return s
  31783. }
  31784. type CreateFleetOutput struct {
  31785. _ struct{} `type:"structure"`
  31786. // Information about the instances that could not be launched by the fleet.
  31787. // Valid only when Type is set to instant.
  31788. Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
  31789. // The ID of the EC2 Fleet.
  31790. FleetId *string `locationName:"fleetId" type:"string"`
  31791. // Information about the instances that were launched by the fleet. Valid only
  31792. // when Type is set to instant.
  31793. Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
  31794. }
  31795. // String returns the string representation
  31796. func (s CreateFleetOutput) String() string {
  31797. return awsutil.Prettify(s)
  31798. }
  31799. // GoString returns the string representation
  31800. func (s CreateFleetOutput) GoString() string {
  31801. return s.String()
  31802. }
  31803. // SetErrors sets the Errors field's value.
  31804. func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
  31805. s.Errors = v
  31806. return s
  31807. }
  31808. // SetFleetId sets the FleetId field's value.
  31809. func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
  31810. s.FleetId = &v
  31811. return s
  31812. }
  31813. // SetInstances sets the Instances field's value.
  31814. func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
  31815. s.Instances = v
  31816. return s
  31817. }
  31818. type CreateFlowLogsInput struct {
  31819. _ struct{} `type:"structure"`
  31820. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  31821. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  31822. ClientToken *string `type:"string"`
  31823. // The ARN for the IAM role that's used to post flow logs to a log group.
  31824. DeliverLogsPermissionArn *string `type:"string"`
  31825. // Checks whether you have the required permissions for the action, without
  31826. // actually making the request, and provides an error response. If you have
  31827. // the required permissions, the error response is DryRunOperation. Otherwise,
  31828. // it is UnauthorizedOperation.
  31829. DryRun *bool `type:"boolean"`
  31830. // Specifies the destination to which the flow log data is to be published.
  31831. // Flow log data can be published to an CloudWatch Logs log group or an Amazon
  31832. // S3 bucket. The value specified for this parameter depends on the value specified
  31833. // for LogDestinationType.
  31834. //
  31835. // If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
  31836. // Resource Name (ARN) of the CloudWatch Logs log group.
  31837. //
  31838. // If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
  31839. // can also specify a subfolder in the bucket. To specify a subfolder in the
  31840. // bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
  31841. // to specify a subfolder named my-logs in a bucket named my-bucket, use the
  31842. // following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
  31843. // a subfolder name. This is a reserved term.
  31844. LogDestination *string `type:"string"`
  31845. // Specifies the type of destination to which the flow log data is to be published.
  31846. // Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
  31847. // flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
  31848. // log data to Amazon S3, specify s3.
  31849. //
  31850. // Default: cloud-watch-logs
  31851. LogDestinationType *string `type:"string" enum:"LogDestinationType"`
  31852. // The name of the log group.
  31853. LogGroupName *string `type:"string"`
  31854. // One or more subnet, network interface, or VPC IDs.
  31855. //
  31856. // Constraints: Maximum of 1000 resources
  31857. //
  31858. // ResourceIds is a required field
  31859. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  31860. // The type of resource on which to create the flow log.
  31861. //
  31862. // ResourceType is a required field
  31863. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  31864. // The type of traffic to log.
  31865. //
  31866. // TrafficType is a required field
  31867. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  31868. }
  31869. // String returns the string representation
  31870. func (s CreateFlowLogsInput) String() string {
  31871. return awsutil.Prettify(s)
  31872. }
  31873. // GoString returns the string representation
  31874. func (s CreateFlowLogsInput) GoString() string {
  31875. return s.String()
  31876. }
  31877. // Validate inspects the fields of the type to determine if they are valid.
  31878. func (s *CreateFlowLogsInput) Validate() error {
  31879. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  31880. if s.ResourceIds == nil {
  31881. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  31882. }
  31883. if s.ResourceType == nil {
  31884. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  31885. }
  31886. if s.TrafficType == nil {
  31887. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  31888. }
  31889. if invalidParams.Len() > 0 {
  31890. return invalidParams
  31891. }
  31892. return nil
  31893. }
  31894. // SetClientToken sets the ClientToken field's value.
  31895. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  31896. s.ClientToken = &v
  31897. return s
  31898. }
  31899. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  31900. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  31901. s.DeliverLogsPermissionArn = &v
  31902. return s
  31903. }
  31904. // SetDryRun sets the DryRun field's value.
  31905. func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
  31906. s.DryRun = &v
  31907. return s
  31908. }
  31909. // SetLogDestination sets the LogDestination field's value.
  31910. func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
  31911. s.LogDestination = &v
  31912. return s
  31913. }
  31914. // SetLogDestinationType sets the LogDestinationType field's value.
  31915. func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
  31916. s.LogDestinationType = &v
  31917. return s
  31918. }
  31919. // SetLogGroupName sets the LogGroupName field's value.
  31920. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  31921. s.LogGroupName = &v
  31922. return s
  31923. }
  31924. // SetResourceIds sets the ResourceIds field's value.
  31925. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  31926. s.ResourceIds = v
  31927. return s
  31928. }
  31929. // SetResourceType sets the ResourceType field's value.
  31930. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  31931. s.ResourceType = &v
  31932. return s
  31933. }
  31934. // SetTrafficType sets the TrafficType field's value.
  31935. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  31936. s.TrafficType = &v
  31937. return s
  31938. }
  31939. type CreateFlowLogsOutput struct {
  31940. _ struct{} `type:"structure"`
  31941. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  31942. // of the request.
  31943. ClientToken *string `locationName:"clientToken" type:"string"`
  31944. // The IDs of the flow logs.
  31945. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  31946. // Information about the flow logs that could not be created successfully.
  31947. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  31948. }
  31949. // String returns the string representation
  31950. func (s CreateFlowLogsOutput) String() string {
  31951. return awsutil.Prettify(s)
  31952. }
  31953. // GoString returns the string representation
  31954. func (s CreateFlowLogsOutput) GoString() string {
  31955. return s.String()
  31956. }
  31957. // SetClientToken sets the ClientToken field's value.
  31958. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  31959. s.ClientToken = &v
  31960. return s
  31961. }
  31962. // SetFlowLogIds sets the FlowLogIds field's value.
  31963. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  31964. s.FlowLogIds = v
  31965. return s
  31966. }
  31967. // SetUnsuccessful sets the Unsuccessful field's value.
  31968. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  31969. s.Unsuccessful = v
  31970. return s
  31971. }
  31972. type CreateFpgaImageInput struct {
  31973. _ struct{} `type:"structure"`
  31974. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  31975. // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  31976. ClientToken *string `type:"string"`
  31977. // A description for the AFI.
  31978. Description *string `type:"string"`
  31979. // Checks whether you have the required permissions for the action, without
  31980. // actually making the request, and provides an error response. If you have
  31981. // the required permissions, the error response is DryRunOperation. Otherwise,
  31982. // it is UnauthorizedOperation.
  31983. DryRun *bool `type:"boolean"`
  31984. // The location of the encrypted design checkpoint in Amazon S3. The input must
  31985. // be a tarball.
  31986. //
  31987. // InputStorageLocation is a required field
  31988. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  31989. // The location in Amazon S3 for the output logs.
  31990. LogsStorageLocation *StorageLocation `type:"structure"`
  31991. // A name for the AFI.
  31992. Name *string `type:"string"`
  31993. }
  31994. // String returns the string representation
  31995. func (s CreateFpgaImageInput) String() string {
  31996. return awsutil.Prettify(s)
  31997. }
  31998. // GoString returns the string representation
  31999. func (s CreateFpgaImageInput) GoString() string {
  32000. return s.String()
  32001. }
  32002. // Validate inspects the fields of the type to determine if they are valid.
  32003. func (s *CreateFpgaImageInput) Validate() error {
  32004. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  32005. if s.InputStorageLocation == nil {
  32006. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  32007. }
  32008. if invalidParams.Len() > 0 {
  32009. return invalidParams
  32010. }
  32011. return nil
  32012. }
  32013. // SetClientToken sets the ClientToken field's value.
  32014. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  32015. s.ClientToken = &v
  32016. return s
  32017. }
  32018. // SetDescription sets the Description field's value.
  32019. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  32020. s.Description = &v
  32021. return s
  32022. }
  32023. // SetDryRun sets the DryRun field's value.
  32024. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  32025. s.DryRun = &v
  32026. return s
  32027. }
  32028. // SetInputStorageLocation sets the InputStorageLocation field's value.
  32029. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  32030. s.InputStorageLocation = v
  32031. return s
  32032. }
  32033. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  32034. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  32035. s.LogsStorageLocation = v
  32036. return s
  32037. }
  32038. // SetName sets the Name field's value.
  32039. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  32040. s.Name = &v
  32041. return s
  32042. }
  32043. type CreateFpgaImageOutput struct {
  32044. _ struct{} `type:"structure"`
  32045. // The global FPGA image identifier (AGFI ID).
  32046. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  32047. // The FPGA image identifier (AFI ID).
  32048. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  32049. }
  32050. // String returns the string representation
  32051. func (s CreateFpgaImageOutput) String() string {
  32052. return awsutil.Prettify(s)
  32053. }
  32054. // GoString returns the string representation
  32055. func (s CreateFpgaImageOutput) GoString() string {
  32056. return s.String()
  32057. }
  32058. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  32059. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  32060. s.FpgaImageGlobalId = &v
  32061. return s
  32062. }
  32063. // SetFpgaImageId sets the FpgaImageId field's value.
  32064. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  32065. s.FpgaImageId = &v
  32066. return s
  32067. }
  32068. // Contains the parameters for CreateImage.
  32069. type CreateImageInput struct {
  32070. _ struct{} `type:"structure"`
  32071. // Information about one or more block device mappings. This parameter cannot
  32072. // be used to modify the encryption status of existing volumes or snapshots.
  32073. // To create an AMI with encrypted snapshots, use the CopyImage action.
  32074. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  32075. // A description for the new image.
  32076. Description *string `locationName:"description" type:"string"`
  32077. // Checks whether you have the required permissions for the action, without
  32078. // actually making the request, and provides an error response. If you have
  32079. // the required permissions, the error response is DryRunOperation. Otherwise,
  32080. // it is UnauthorizedOperation.
  32081. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32082. // The ID of the instance.
  32083. //
  32084. // InstanceId is a required field
  32085. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  32086. // A name for the new image.
  32087. //
  32088. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  32089. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  32090. // at-signs (@), or underscores(_)
  32091. //
  32092. // Name is a required field
  32093. Name *string `locationName:"name" type:"string" required:"true"`
  32094. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  32095. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  32096. // shut down the instance before creating the image. When this option is used,
  32097. // file system integrity on the created image can't be guaranteed.
  32098. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  32099. }
  32100. // String returns the string representation
  32101. func (s CreateImageInput) String() string {
  32102. return awsutil.Prettify(s)
  32103. }
  32104. // GoString returns the string representation
  32105. func (s CreateImageInput) GoString() string {
  32106. return s.String()
  32107. }
  32108. // Validate inspects the fields of the type to determine if they are valid.
  32109. func (s *CreateImageInput) Validate() error {
  32110. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  32111. if s.InstanceId == nil {
  32112. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  32113. }
  32114. if s.Name == nil {
  32115. invalidParams.Add(request.NewErrParamRequired("Name"))
  32116. }
  32117. if invalidParams.Len() > 0 {
  32118. return invalidParams
  32119. }
  32120. return nil
  32121. }
  32122. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  32123. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  32124. s.BlockDeviceMappings = v
  32125. return s
  32126. }
  32127. // SetDescription sets the Description field's value.
  32128. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  32129. s.Description = &v
  32130. return s
  32131. }
  32132. // SetDryRun sets the DryRun field's value.
  32133. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  32134. s.DryRun = &v
  32135. return s
  32136. }
  32137. // SetInstanceId sets the InstanceId field's value.
  32138. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  32139. s.InstanceId = &v
  32140. return s
  32141. }
  32142. // SetName sets the Name field's value.
  32143. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  32144. s.Name = &v
  32145. return s
  32146. }
  32147. // SetNoReboot sets the NoReboot field's value.
  32148. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  32149. s.NoReboot = &v
  32150. return s
  32151. }
  32152. // Contains the output of CreateImage.
  32153. type CreateImageOutput struct {
  32154. _ struct{} `type:"structure"`
  32155. // The ID of the new AMI.
  32156. ImageId *string `locationName:"imageId" type:"string"`
  32157. }
  32158. // String returns the string representation
  32159. func (s CreateImageOutput) String() string {
  32160. return awsutil.Prettify(s)
  32161. }
  32162. // GoString returns the string representation
  32163. func (s CreateImageOutput) GoString() string {
  32164. return s.String()
  32165. }
  32166. // SetImageId sets the ImageId field's value.
  32167. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  32168. s.ImageId = &v
  32169. return s
  32170. }
  32171. // Contains the parameters for CreateInstanceExportTask.
  32172. type CreateInstanceExportTaskInput struct {
  32173. _ struct{} `type:"structure"`
  32174. // A description for the conversion task or the resource being exported. The
  32175. // maximum length is 255 bytes.
  32176. Description *string `locationName:"description" type:"string"`
  32177. // The format and location for an instance export task.
  32178. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  32179. // The ID of the instance.
  32180. //
  32181. // InstanceId is a required field
  32182. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  32183. // The target virtualization environment.
  32184. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  32185. }
  32186. // String returns the string representation
  32187. func (s CreateInstanceExportTaskInput) String() string {
  32188. return awsutil.Prettify(s)
  32189. }
  32190. // GoString returns the string representation
  32191. func (s CreateInstanceExportTaskInput) GoString() string {
  32192. return s.String()
  32193. }
  32194. // Validate inspects the fields of the type to determine if they are valid.
  32195. func (s *CreateInstanceExportTaskInput) Validate() error {
  32196. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  32197. if s.InstanceId == nil {
  32198. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  32199. }
  32200. if invalidParams.Len() > 0 {
  32201. return invalidParams
  32202. }
  32203. return nil
  32204. }
  32205. // SetDescription sets the Description field's value.
  32206. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  32207. s.Description = &v
  32208. return s
  32209. }
  32210. // SetExportToS3Task sets the ExportToS3Task field's value.
  32211. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  32212. s.ExportToS3Task = v
  32213. return s
  32214. }
  32215. // SetInstanceId sets the InstanceId field's value.
  32216. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  32217. s.InstanceId = &v
  32218. return s
  32219. }
  32220. // SetTargetEnvironment sets the TargetEnvironment field's value.
  32221. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  32222. s.TargetEnvironment = &v
  32223. return s
  32224. }
  32225. // Contains the output for CreateInstanceExportTask.
  32226. type CreateInstanceExportTaskOutput struct {
  32227. _ struct{} `type:"structure"`
  32228. // Information about the instance export task.
  32229. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  32230. }
  32231. // String returns the string representation
  32232. func (s CreateInstanceExportTaskOutput) String() string {
  32233. return awsutil.Prettify(s)
  32234. }
  32235. // GoString returns the string representation
  32236. func (s CreateInstanceExportTaskOutput) GoString() string {
  32237. return s.String()
  32238. }
  32239. // SetExportTask sets the ExportTask field's value.
  32240. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  32241. s.ExportTask = v
  32242. return s
  32243. }
  32244. type CreateInternetGatewayInput struct {
  32245. _ struct{} `type:"structure"`
  32246. // Checks whether you have the required permissions for the action, without
  32247. // actually making the request, and provides an error response. If you have
  32248. // the required permissions, the error response is DryRunOperation. Otherwise,
  32249. // it is UnauthorizedOperation.
  32250. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32251. }
  32252. // String returns the string representation
  32253. func (s CreateInternetGatewayInput) String() string {
  32254. return awsutil.Prettify(s)
  32255. }
  32256. // GoString returns the string representation
  32257. func (s CreateInternetGatewayInput) GoString() string {
  32258. return s.String()
  32259. }
  32260. // SetDryRun sets the DryRun field's value.
  32261. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  32262. s.DryRun = &v
  32263. return s
  32264. }
  32265. type CreateInternetGatewayOutput struct {
  32266. _ struct{} `type:"structure"`
  32267. // Information about the internet gateway.
  32268. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  32269. }
  32270. // String returns the string representation
  32271. func (s CreateInternetGatewayOutput) String() string {
  32272. return awsutil.Prettify(s)
  32273. }
  32274. // GoString returns the string representation
  32275. func (s CreateInternetGatewayOutput) GoString() string {
  32276. return s.String()
  32277. }
  32278. // SetInternetGateway sets the InternetGateway field's value.
  32279. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  32280. s.InternetGateway = v
  32281. return s
  32282. }
  32283. type CreateKeyPairInput struct {
  32284. _ struct{} `type:"structure"`
  32285. // Checks whether you have the required permissions for the action, without
  32286. // actually making the request, and provides an error response. If you have
  32287. // the required permissions, the error response is DryRunOperation. Otherwise,
  32288. // it is UnauthorizedOperation.
  32289. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32290. // A unique name for the key pair.
  32291. //
  32292. // Constraints: Up to 255 ASCII characters
  32293. //
  32294. // KeyName is a required field
  32295. KeyName *string `type:"string" required:"true"`
  32296. }
  32297. // String returns the string representation
  32298. func (s CreateKeyPairInput) String() string {
  32299. return awsutil.Prettify(s)
  32300. }
  32301. // GoString returns the string representation
  32302. func (s CreateKeyPairInput) GoString() string {
  32303. return s.String()
  32304. }
  32305. // Validate inspects the fields of the type to determine if they are valid.
  32306. func (s *CreateKeyPairInput) Validate() error {
  32307. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  32308. if s.KeyName == nil {
  32309. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  32310. }
  32311. if invalidParams.Len() > 0 {
  32312. return invalidParams
  32313. }
  32314. return nil
  32315. }
  32316. // SetDryRun sets the DryRun field's value.
  32317. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  32318. s.DryRun = &v
  32319. return s
  32320. }
  32321. // SetKeyName sets the KeyName field's value.
  32322. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  32323. s.KeyName = &v
  32324. return s
  32325. }
  32326. // Describes a key pair.
  32327. type CreateKeyPairOutput struct {
  32328. _ struct{} `type:"structure"`
  32329. // The SHA-1 digest of the DER encoded private key.
  32330. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  32331. // An unencrypted PEM encoded RSA private key.
  32332. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  32333. // The name of the key pair.
  32334. KeyName *string `locationName:"keyName" type:"string"`
  32335. }
  32336. // String returns the string representation
  32337. func (s CreateKeyPairOutput) String() string {
  32338. return awsutil.Prettify(s)
  32339. }
  32340. // GoString returns the string representation
  32341. func (s CreateKeyPairOutput) GoString() string {
  32342. return s.String()
  32343. }
  32344. // SetKeyFingerprint sets the KeyFingerprint field's value.
  32345. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  32346. s.KeyFingerprint = &v
  32347. return s
  32348. }
  32349. // SetKeyMaterial sets the KeyMaterial field's value.
  32350. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  32351. s.KeyMaterial = &v
  32352. return s
  32353. }
  32354. // SetKeyName sets the KeyName field's value.
  32355. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  32356. s.KeyName = &v
  32357. return s
  32358. }
  32359. type CreateLaunchTemplateInput struct {
  32360. _ struct{} `type:"structure"`
  32361. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  32362. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  32363. //
  32364. // Constraint: Maximum 128 ASCII characters.
  32365. ClientToken *string `type:"string"`
  32366. // Checks whether you have the required permissions for the action, without
  32367. // actually making the request, and provides an error response. If you have
  32368. // the required permissions, the error response is DryRunOperation. Otherwise,
  32369. // it is UnauthorizedOperation.
  32370. DryRun *bool `type:"boolean"`
  32371. // The information for the launch template.
  32372. //
  32373. // LaunchTemplateData is a required field
  32374. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  32375. // A name for the launch template.
  32376. //
  32377. // LaunchTemplateName is a required field
  32378. LaunchTemplateName *string `min:"3" type:"string" required:"true"`
  32379. // A description for the first version of the launch template.
  32380. VersionDescription *string `type:"string"`
  32381. }
  32382. // String returns the string representation
  32383. func (s CreateLaunchTemplateInput) String() string {
  32384. return awsutil.Prettify(s)
  32385. }
  32386. // GoString returns the string representation
  32387. func (s CreateLaunchTemplateInput) GoString() string {
  32388. return s.String()
  32389. }
  32390. // Validate inspects the fields of the type to determine if they are valid.
  32391. func (s *CreateLaunchTemplateInput) Validate() error {
  32392. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
  32393. if s.LaunchTemplateData == nil {
  32394. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  32395. }
  32396. if s.LaunchTemplateName == nil {
  32397. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
  32398. }
  32399. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  32400. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  32401. }
  32402. if s.LaunchTemplateData != nil {
  32403. if err := s.LaunchTemplateData.Validate(); err != nil {
  32404. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  32405. }
  32406. }
  32407. if invalidParams.Len() > 0 {
  32408. return invalidParams
  32409. }
  32410. return nil
  32411. }
  32412. // SetClientToken sets the ClientToken field's value.
  32413. func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
  32414. s.ClientToken = &v
  32415. return s
  32416. }
  32417. // SetDryRun sets the DryRun field's value.
  32418. func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
  32419. s.DryRun = &v
  32420. return s
  32421. }
  32422. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  32423. func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
  32424. s.LaunchTemplateData = v
  32425. return s
  32426. }
  32427. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  32428. func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
  32429. s.LaunchTemplateName = &v
  32430. return s
  32431. }
  32432. // SetVersionDescription sets the VersionDescription field's value.
  32433. func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
  32434. s.VersionDescription = &v
  32435. return s
  32436. }
  32437. type CreateLaunchTemplateOutput struct {
  32438. _ struct{} `type:"structure"`
  32439. // Information about the launch template.
  32440. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  32441. }
  32442. // String returns the string representation
  32443. func (s CreateLaunchTemplateOutput) String() string {
  32444. return awsutil.Prettify(s)
  32445. }
  32446. // GoString returns the string representation
  32447. func (s CreateLaunchTemplateOutput) GoString() string {
  32448. return s.String()
  32449. }
  32450. // SetLaunchTemplate sets the LaunchTemplate field's value.
  32451. func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
  32452. s.LaunchTemplate = v
  32453. return s
  32454. }
  32455. type CreateLaunchTemplateVersionInput struct {
  32456. _ struct{} `type:"structure"`
  32457. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  32458. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  32459. //
  32460. // Constraint: Maximum 128 ASCII characters.
  32461. ClientToken *string `type:"string"`
  32462. // Checks whether you have the required permissions for the action, without
  32463. // actually making the request, and provides an error response. If you have
  32464. // the required permissions, the error response is DryRunOperation. Otherwise,
  32465. // it is UnauthorizedOperation.
  32466. DryRun *bool `type:"boolean"`
  32467. // The information for the launch template.
  32468. //
  32469. // LaunchTemplateData is a required field
  32470. LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
  32471. // The ID of the launch template. You must specify either the launch template
  32472. // ID or launch template name in the request.
  32473. LaunchTemplateId *string `type:"string"`
  32474. // The name of the launch template. You must specify either the launch template
  32475. // ID or launch template name in the request.
  32476. LaunchTemplateName *string `min:"3" type:"string"`
  32477. // The version number of the launch template version on which to base the new
  32478. // version. The new version inherits the same launch parameters as the source
  32479. // version, except for parameters that you specify in LaunchTemplateData.
  32480. SourceVersion *string `type:"string"`
  32481. // A description for the version of the launch template.
  32482. VersionDescription *string `type:"string"`
  32483. }
  32484. // String returns the string representation
  32485. func (s CreateLaunchTemplateVersionInput) String() string {
  32486. return awsutil.Prettify(s)
  32487. }
  32488. // GoString returns the string representation
  32489. func (s CreateLaunchTemplateVersionInput) GoString() string {
  32490. return s.String()
  32491. }
  32492. // Validate inspects the fields of the type to determine if they are valid.
  32493. func (s *CreateLaunchTemplateVersionInput) Validate() error {
  32494. invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
  32495. if s.LaunchTemplateData == nil {
  32496. invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
  32497. }
  32498. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  32499. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  32500. }
  32501. if s.LaunchTemplateData != nil {
  32502. if err := s.LaunchTemplateData.Validate(); err != nil {
  32503. invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
  32504. }
  32505. }
  32506. if invalidParams.Len() > 0 {
  32507. return invalidParams
  32508. }
  32509. return nil
  32510. }
  32511. // SetClientToken sets the ClientToken field's value.
  32512. func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
  32513. s.ClientToken = &v
  32514. return s
  32515. }
  32516. // SetDryRun sets the DryRun field's value.
  32517. func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
  32518. s.DryRun = &v
  32519. return s
  32520. }
  32521. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  32522. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
  32523. s.LaunchTemplateData = v
  32524. return s
  32525. }
  32526. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  32527. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
  32528. s.LaunchTemplateId = &v
  32529. return s
  32530. }
  32531. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  32532. func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
  32533. s.LaunchTemplateName = &v
  32534. return s
  32535. }
  32536. // SetSourceVersion sets the SourceVersion field's value.
  32537. func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
  32538. s.SourceVersion = &v
  32539. return s
  32540. }
  32541. // SetVersionDescription sets the VersionDescription field's value.
  32542. func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
  32543. s.VersionDescription = &v
  32544. return s
  32545. }
  32546. type CreateLaunchTemplateVersionOutput struct {
  32547. _ struct{} `type:"structure"`
  32548. // Information about the launch template version.
  32549. LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
  32550. }
  32551. // String returns the string representation
  32552. func (s CreateLaunchTemplateVersionOutput) String() string {
  32553. return awsutil.Prettify(s)
  32554. }
  32555. // GoString returns the string representation
  32556. func (s CreateLaunchTemplateVersionOutput) GoString() string {
  32557. return s.String()
  32558. }
  32559. // SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
  32560. func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
  32561. s.LaunchTemplateVersion = v
  32562. return s
  32563. }
  32564. type CreateNatGatewayInput struct {
  32565. _ struct{} `type:"structure"`
  32566. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  32567. // If the Elastic IP address is associated with another resource, you must first
  32568. // disassociate it.
  32569. //
  32570. // AllocationId is a required field
  32571. AllocationId *string `type:"string" required:"true"`
  32572. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  32573. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  32574. //
  32575. // Constraint: Maximum 64 ASCII characters.
  32576. ClientToken *string `type:"string"`
  32577. // The subnet in which to create the NAT gateway.
  32578. //
  32579. // SubnetId is a required field
  32580. SubnetId *string `type:"string" required:"true"`
  32581. }
  32582. // String returns the string representation
  32583. func (s CreateNatGatewayInput) String() string {
  32584. return awsutil.Prettify(s)
  32585. }
  32586. // GoString returns the string representation
  32587. func (s CreateNatGatewayInput) GoString() string {
  32588. return s.String()
  32589. }
  32590. // Validate inspects the fields of the type to determine if they are valid.
  32591. func (s *CreateNatGatewayInput) Validate() error {
  32592. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  32593. if s.AllocationId == nil {
  32594. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  32595. }
  32596. if s.SubnetId == nil {
  32597. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  32598. }
  32599. if invalidParams.Len() > 0 {
  32600. return invalidParams
  32601. }
  32602. return nil
  32603. }
  32604. // SetAllocationId sets the AllocationId field's value.
  32605. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  32606. s.AllocationId = &v
  32607. return s
  32608. }
  32609. // SetClientToken sets the ClientToken field's value.
  32610. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  32611. s.ClientToken = &v
  32612. return s
  32613. }
  32614. // SetSubnetId sets the SubnetId field's value.
  32615. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  32616. s.SubnetId = &v
  32617. return s
  32618. }
  32619. type CreateNatGatewayOutput struct {
  32620. _ struct{} `type:"structure"`
  32621. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  32622. // Only returned if a client token was provided in the request.
  32623. ClientToken *string `locationName:"clientToken" type:"string"`
  32624. // Information about the NAT gateway.
  32625. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  32626. }
  32627. // String returns the string representation
  32628. func (s CreateNatGatewayOutput) String() string {
  32629. return awsutil.Prettify(s)
  32630. }
  32631. // GoString returns the string representation
  32632. func (s CreateNatGatewayOutput) GoString() string {
  32633. return s.String()
  32634. }
  32635. // SetClientToken sets the ClientToken field's value.
  32636. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  32637. s.ClientToken = &v
  32638. return s
  32639. }
  32640. // SetNatGateway sets the NatGateway field's value.
  32641. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  32642. s.NatGateway = v
  32643. return s
  32644. }
  32645. type CreateNetworkAclEntryInput struct {
  32646. _ struct{} `type:"structure"`
  32647. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  32648. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  32649. // Checks whether you have the required permissions for the action, without
  32650. // actually making the request, and provides an error response. If you have
  32651. // the required permissions, the error response is DryRunOperation. Otherwise,
  32652. // it is UnauthorizedOperation.
  32653. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32654. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  32655. // the subnet).
  32656. //
  32657. // Egress is a required field
  32658. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  32659. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
  32660. // 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  32661. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  32662. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  32663. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  32664. // The ID of the network ACL.
  32665. //
  32666. // NetworkAclId is a required field
  32667. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  32668. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  32669. // specifying protocol 6 (TCP) or 17 (UDP).
  32670. PortRange *PortRange `locationName:"portRange" type:"structure"`
  32671. // The protocol number. A value of "-1" means all protocols. If you specify
  32672. // "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
  32673. // traffic on all ports is allowed, regardless of any ports or ICMP types or
  32674. // codes that you specify. If you specify protocol "58" (ICMPv6) and specify
  32675. // an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
  32676. // of any that you specify. If you specify protocol "58" (ICMPv6) and specify
  32677. // an IPv6 CIDR block, you must specify an ICMP type and code.
  32678. //
  32679. // Protocol is a required field
  32680. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  32681. // Indicates whether to allow or deny the traffic that matches the rule.
  32682. //
  32683. // RuleAction is a required field
  32684. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  32685. // The rule number for the entry (for example, 100). ACL entries are processed
  32686. // in ascending order by rule number.
  32687. //
  32688. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  32689. // reserved for internal use.
  32690. //
  32691. // RuleNumber is a required field
  32692. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  32693. }
  32694. // String returns the string representation
  32695. func (s CreateNetworkAclEntryInput) String() string {
  32696. return awsutil.Prettify(s)
  32697. }
  32698. // GoString returns the string representation
  32699. func (s CreateNetworkAclEntryInput) GoString() string {
  32700. return s.String()
  32701. }
  32702. // Validate inspects the fields of the type to determine if they are valid.
  32703. func (s *CreateNetworkAclEntryInput) Validate() error {
  32704. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  32705. if s.Egress == nil {
  32706. invalidParams.Add(request.NewErrParamRequired("Egress"))
  32707. }
  32708. if s.NetworkAclId == nil {
  32709. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  32710. }
  32711. if s.Protocol == nil {
  32712. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  32713. }
  32714. if s.RuleAction == nil {
  32715. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  32716. }
  32717. if s.RuleNumber == nil {
  32718. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  32719. }
  32720. if invalidParams.Len() > 0 {
  32721. return invalidParams
  32722. }
  32723. return nil
  32724. }
  32725. // SetCidrBlock sets the CidrBlock field's value.
  32726. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  32727. s.CidrBlock = &v
  32728. return s
  32729. }
  32730. // SetDryRun sets the DryRun field's value.
  32731. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  32732. s.DryRun = &v
  32733. return s
  32734. }
  32735. // SetEgress sets the Egress field's value.
  32736. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  32737. s.Egress = &v
  32738. return s
  32739. }
  32740. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  32741. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  32742. s.IcmpTypeCode = v
  32743. return s
  32744. }
  32745. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  32746. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  32747. s.Ipv6CidrBlock = &v
  32748. return s
  32749. }
  32750. // SetNetworkAclId sets the NetworkAclId field's value.
  32751. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  32752. s.NetworkAclId = &v
  32753. return s
  32754. }
  32755. // SetPortRange sets the PortRange field's value.
  32756. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  32757. s.PortRange = v
  32758. return s
  32759. }
  32760. // SetProtocol sets the Protocol field's value.
  32761. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  32762. s.Protocol = &v
  32763. return s
  32764. }
  32765. // SetRuleAction sets the RuleAction field's value.
  32766. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  32767. s.RuleAction = &v
  32768. return s
  32769. }
  32770. // SetRuleNumber sets the RuleNumber field's value.
  32771. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  32772. s.RuleNumber = &v
  32773. return s
  32774. }
  32775. type CreateNetworkAclEntryOutput struct {
  32776. _ struct{} `type:"structure"`
  32777. }
  32778. // String returns the string representation
  32779. func (s CreateNetworkAclEntryOutput) String() string {
  32780. return awsutil.Prettify(s)
  32781. }
  32782. // GoString returns the string representation
  32783. func (s CreateNetworkAclEntryOutput) GoString() string {
  32784. return s.String()
  32785. }
  32786. type CreateNetworkAclInput struct {
  32787. _ struct{} `type:"structure"`
  32788. // Checks whether you have the required permissions for the action, without
  32789. // actually making the request, and provides an error response. If you have
  32790. // the required permissions, the error response is DryRunOperation. Otherwise,
  32791. // it is UnauthorizedOperation.
  32792. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32793. // The ID of the VPC.
  32794. //
  32795. // VpcId is a required field
  32796. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32797. }
  32798. // String returns the string representation
  32799. func (s CreateNetworkAclInput) String() string {
  32800. return awsutil.Prettify(s)
  32801. }
  32802. // GoString returns the string representation
  32803. func (s CreateNetworkAclInput) GoString() string {
  32804. return s.String()
  32805. }
  32806. // Validate inspects the fields of the type to determine if they are valid.
  32807. func (s *CreateNetworkAclInput) Validate() error {
  32808. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  32809. if s.VpcId == nil {
  32810. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32811. }
  32812. if invalidParams.Len() > 0 {
  32813. return invalidParams
  32814. }
  32815. return nil
  32816. }
  32817. // SetDryRun sets the DryRun field's value.
  32818. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  32819. s.DryRun = &v
  32820. return s
  32821. }
  32822. // SetVpcId sets the VpcId field's value.
  32823. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  32824. s.VpcId = &v
  32825. return s
  32826. }
  32827. type CreateNetworkAclOutput struct {
  32828. _ struct{} `type:"structure"`
  32829. // Information about the network ACL.
  32830. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  32831. }
  32832. // String returns the string representation
  32833. func (s CreateNetworkAclOutput) String() string {
  32834. return awsutil.Prettify(s)
  32835. }
  32836. // GoString returns the string representation
  32837. func (s CreateNetworkAclOutput) GoString() string {
  32838. return s.String()
  32839. }
  32840. // SetNetworkAcl sets the NetworkAcl field's value.
  32841. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  32842. s.NetworkAcl = v
  32843. return s
  32844. }
  32845. // Contains the parameters for CreateNetworkInterface.
  32846. type CreateNetworkInterfaceInput struct {
  32847. _ struct{} `type:"structure"`
  32848. // A description for the network interface.
  32849. Description *string `locationName:"description" type:"string"`
  32850. // Checks whether you have the required permissions for the action, without
  32851. // actually making the request, and provides an error response. If you have
  32852. // the required permissions, the error response is DryRunOperation. Otherwise,
  32853. // it is UnauthorizedOperation.
  32854. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32855. // The IDs of one or more security groups.
  32856. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  32857. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  32858. // automatically selects the IPv6 addresses from the subnet range. You can't
  32859. // use this option if specifying specific IPv6 addresses. If your subnet has
  32860. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  32861. // to override this setting.
  32862. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  32863. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  32864. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  32865. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  32866. // The primary private IPv4 address of the network interface. If you don't specify
  32867. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  32868. // range. If you specify an IP address, you cannot indicate any IP addresses
  32869. // specified in privateIpAddresses as primary (only one IP address can be designated
  32870. // as primary).
  32871. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  32872. // One or more private IPv4 addresses.
  32873. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  32874. // The number of secondary private IPv4 addresses to assign to a network interface.
  32875. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  32876. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  32877. // this option and specify more than one private IP address using privateIpAddresses.
  32878. //
  32879. // The number of IP addresses you can assign to a network interface varies by
  32880. // instance type. For more information, see IP Addresses Per ENI Per Instance
  32881. // Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  32882. // in the Amazon Virtual Private Cloud User Guide.
  32883. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  32884. // The ID of the subnet to associate with the network interface.
  32885. //
  32886. // SubnetId is a required field
  32887. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  32888. }
  32889. // String returns the string representation
  32890. func (s CreateNetworkInterfaceInput) String() string {
  32891. return awsutil.Prettify(s)
  32892. }
  32893. // GoString returns the string representation
  32894. func (s CreateNetworkInterfaceInput) GoString() string {
  32895. return s.String()
  32896. }
  32897. // Validate inspects the fields of the type to determine if they are valid.
  32898. func (s *CreateNetworkInterfaceInput) Validate() error {
  32899. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  32900. if s.SubnetId == nil {
  32901. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  32902. }
  32903. if invalidParams.Len() > 0 {
  32904. return invalidParams
  32905. }
  32906. return nil
  32907. }
  32908. // SetDescription sets the Description field's value.
  32909. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  32910. s.Description = &v
  32911. return s
  32912. }
  32913. // SetDryRun sets the DryRun field's value.
  32914. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  32915. s.DryRun = &v
  32916. return s
  32917. }
  32918. // SetGroups sets the Groups field's value.
  32919. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  32920. s.Groups = v
  32921. return s
  32922. }
  32923. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  32924. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  32925. s.Ipv6AddressCount = &v
  32926. return s
  32927. }
  32928. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  32929. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  32930. s.Ipv6Addresses = v
  32931. return s
  32932. }
  32933. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  32934. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  32935. s.PrivateIpAddress = &v
  32936. return s
  32937. }
  32938. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  32939. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  32940. s.PrivateIpAddresses = v
  32941. return s
  32942. }
  32943. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  32944. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  32945. s.SecondaryPrivateIpAddressCount = &v
  32946. return s
  32947. }
  32948. // SetSubnetId sets the SubnetId field's value.
  32949. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  32950. s.SubnetId = &v
  32951. return s
  32952. }
  32953. // Contains the output of CreateNetworkInterface.
  32954. type CreateNetworkInterfaceOutput struct {
  32955. _ struct{} `type:"structure"`
  32956. // Information about the network interface.
  32957. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  32958. }
  32959. // String returns the string representation
  32960. func (s CreateNetworkInterfaceOutput) String() string {
  32961. return awsutil.Prettify(s)
  32962. }
  32963. // GoString returns the string representation
  32964. func (s CreateNetworkInterfaceOutput) GoString() string {
  32965. return s.String()
  32966. }
  32967. // SetNetworkInterface sets the NetworkInterface field's value.
  32968. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  32969. s.NetworkInterface = v
  32970. return s
  32971. }
  32972. // Contains the parameters for CreateNetworkInterfacePermission.
  32973. type CreateNetworkInterfacePermissionInput struct {
  32974. _ struct{} `type:"structure"`
  32975. // The AWS account ID.
  32976. AwsAccountId *string `type:"string"`
  32977. // The AWS service. Currently not supported.
  32978. AwsService *string `type:"string"`
  32979. // Checks whether you have the required permissions for the action, without
  32980. // actually making the request, and provides an error response. If you have
  32981. // the required permissions, the error response is DryRunOperation. Otherwise,
  32982. // it is UnauthorizedOperation.
  32983. DryRun *bool `type:"boolean"`
  32984. // The ID of the network interface.
  32985. //
  32986. // NetworkInterfaceId is a required field
  32987. NetworkInterfaceId *string `type:"string" required:"true"`
  32988. // The type of permission to grant.
  32989. //
  32990. // Permission is a required field
  32991. Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
  32992. }
  32993. // String returns the string representation
  32994. func (s CreateNetworkInterfacePermissionInput) String() string {
  32995. return awsutil.Prettify(s)
  32996. }
  32997. // GoString returns the string representation
  32998. func (s CreateNetworkInterfacePermissionInput) GoString() string {
  32999. return s.String()
  33000. }
  33001. // Validate inspects the fields of the type to determine if they are valid.
  33002. func (s *CreateNetworkInterfacePermissionInput) Validate() error {
  33003. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
  33004. if s.NetworkInterfaceId == nil {
  33005. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  33006. }
  33007. if s.Permission == nil {
  33008. invalidParams.Add(request.NewErrParamRequired("Permission"))
  33009. }
  33010. if invalidParams.Len() > 0 {
  33011. return invalidParams
  33012. }
  33013. return nil
  33014. }
  33015. // SetAwsAccountId sets the AwsAccountId field's value.
  33016. func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
  33017. s.AwsAccountId = &v
  33018. return s
  33019. }
  33020. // SetAwsService sets the AwsService field's value.
  33021. func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
  33022. s.AwsService = &v
  33023. return s
  33024. }
  33025. // SetDryRun sets the DryRun field's value.
  33026. func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
  33027. s.DryRun = &v
  33028. return s
  33029. }
  33030. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  33031. func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
  33032. s.NetworkInterfaceId = &v
  33033. return s
  33034. }
  33035. // SetPermission sets the Permission field's value.
  33036. func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
  33037. s.Permission = &v
  33038. return s
  33039. }
  33040. // Contains the output of CreateNetworkInterfacePermission.
  33041. type CreateNetworkInterfacePermissionOutput struct {
  33042. _ struct{} `type:"structure"`
  33043. // Information about the permission for the network interface.
  33044. InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
  33045. }
  33046. // String returns the string representation
  33047. func (s CreateNetworkInterfacePermissionOutput) String() string {
  33048. return awsutil.Prettify(s)
  33049. }
  33050. // GoString returns the string representation
  33051. func (s CreateNetworkInterfacePermissionOutput) GoString() string {
  33052. return s.String()
  33053. }
  33054. // SetInterfacePermission sets the InterfacePermission field's value.
  33055. func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
  33056. s.InterfacePermission = v
  33057. return s
  33058. }
  33059. type CreatePlacementGroupInput struct {
  33060. _ struct{} `type:"structure"`
  33061. // Checks whether you have the required permissions for the action, without
  33062. // actually making the request, and provides an error response. If you have
  33063. // the required permissions, the error response is DryRunOperation. Otherwise,
  33064. // it is UnauthorizedOperation.
  33065. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33066. // A name for the placement group. Must be unique within the scope of your account
  33067. // for the Region.
  33068. //
  33069. // Constraints: Up to 255 ASCII characters
  33070. GroupName *string `locationName:"groupName" type:"string"`
  33071. // The number of partitions. Valid only when Strategy is set to partition.
  33072. PartitionCount *int64 `type:"integer"`
  33073. // The placement strategy.
  33074. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  33075. }
  33076. // String returns the string representation
  33077. func (s CreatePlacementGroupInput) String() string {
  33078. return awsutil.Prettify(s)
  33079. }
  33080. // GoString returns the string representation
  33081. func (s CreatePlacementGroupInput) GoString() string {
  33082. return s.String()
  33083. }
  33084. // SetDryRun sets the DryRun field's value.
  33085. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  33086. s.DryRun = &v
  33087. return s
  33088. }
  33089. // SetGroupName sets the GroupName field's value.
  33090. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  33091. s.GroupName = &v
  33092. return s
  33093. }
  33094. // SetPartitionCount sets the PartitionCount field's value.
  33095. func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
  33096. s.PartitionCount = &v
  33097. return s
  33098. }
  33099. // SetStrategy sets the Strategy field's value.
  33100. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  33101. s.Strategy = &v
  33102. return s
  33103. }
  33104. type CreatePlacementGroupOutput struct {
  33105. _ struct{} `type:"structure"`
  33106. }
  33107. // String returns the string representation
  33108. func (s CreatePlacementGroupOutput) String() string {
  33109. return awsutil.Prettify(s)
  33110. }
  33111. // GoString returns the string representation
  33112. func (s CreatePlacementGroupOutput) GoString() string {
  33113. return s.String()
  33114. }
  33115. // Contains the parameters for CreateReservedInstancesListing.
  33116. type CreateReservedInstancesListingInput struct {
  33117. _ struct{} `type:"structure"`
  33118. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  33119. // listings. This helps avoid duplicate listings. For more information, see
  33120. // Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  33121. //
  33122. // ClientToken is a required field
  33123. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  33124. // The number of instances that are a part of a Reserved Instance account to
  33125. // be listed in the Reserved Instance Marketplace. This number should be less
  33126. // than or equal to the instance count associated with the Reserved Instance
  33127. // ID specified in this call.
  33128. //
  33129. // InstanceCount is a required field
  33130. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  33131. // A list specifying the price of the Standard Reserved Instance for each month
  33132. // remaining in the Reserved Instance term.
  33133. //
  33134. // PriceSchedules is a required field
  33135. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  33136. // The ID of the active Standard Reserved Instance.
  33137. //
  33138. // ReservedInstancesId is a required field
  33139. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  33140. }
  33141. // String returns the string representation
  33142. func (s CreateReservedInstancesListingInput) String() string {
  33143. return awsutil.Prettify(s)
  33144. }
  33145. // GoString returns the string representation
  33146. func (s CreateReservedInstancesListingInput) GoString() string {
  33147. return s.String()
  33148. }
  33149. // Validate inspects the fields of the type to determine if they are valid.
  33150. func (s *CreateReservedInstancesListingInput) Validate() error {
  33151. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  33152. if s.ClientToken == nil {
  33153. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  33154. }
  33155. if s.InstanceCount == nil {
  33156. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  33157. }
  33158. if s.PriceSchedules == nil {
  33159. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  33160. }
  33161. if s.ReservedInstancesId == nil {
  33162. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  33163. }
  33164. if invalidParams.Len() > 0 {
  33165. return invalidParams
  33166. }
  33167. return nil
  33168. }
  33169. // SetClientToken sets the ClientToken field's value.
  33170. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  33171. s.ClientToken = &v
  33172. return s
  33173. }
  33174. // SetInstanceCount sets the InstanceCount field's value.
  33175. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  33176. s.InstanceCount = &v
  33177. return s
  33178. }
  33179. // SetPriceSchedules sets the PriceSchedules field's value.
  33180. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  33181. s.PriceSchedules = v
  33182. return s
  33183. }
  33184. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  33185. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  33186. s.ReservedInstancesId = &v
  33187. return s
  33188. }
  33189. // Contains the output of CreateReservedInstancesListing.
  33190. type CreateReservedInstancesListingOutput struct {
  33191. _ struct{} `type:"structure"`
  33192. // Information about the Standard Reserved Instance listing.
  33193. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  33194. }
  33195. // String returns the string representation
  33196. func (s CreateReservedInstancesListingOutput) String() string {
  33197. return awsutil.Prettify(s)
  33198. }
  33199. // GoString returns the string representation
  33200. func (s CreateReservedInstancesListingOutput) GoString() string {
  33201. return s.String()
  33202. }
  33203. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  33204. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  33205. s.ReservedInstancesListings = v
  33206. return s
  33207. }
  33208. type CreateRouteInput struct {
  33209. _ struct{} `type:"structure"`
  33210. // The IPv4 CIDR address block used for the destination match. Routing decisions
  33211. // are based on the most specific match.
  33212. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  33213. // The IPv6 CIDR block used for the destination match. Routing decisions are
  33214. // based on the most specific match.
  33215. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  33216. // Checks whether you have the required permissions for the action, without
  33217. // actually making the request, and provides an error response. If you have
  33218. // the required permissions, the error response is DryRunOperation. Otherwise,
  33219. // it is UnauthorizedOperation.
  33220. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33221. // [IPv6 traffic only] The ID of an egress-only internet gateway.
  33222. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  33223. // The ID of an internet gateway or virtual private gateway attached to your
  33224. // VPC.
  33225. GatewayId *string `locationName:"gatewayId" type:"string"`
  33226. // The ID of a NAT instance in your VPC. The operation fails if you specify
  33227. // an instance ID unless exactly one network interface is attached.
  33228. InstanceId *string `locationName:"instanceId" type:"string"`
  33229. // [IPv4 traffic only] The ID of a NAT gateway.
  33230. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  33231. // The ID of a network interface.
  33232. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  33233. // The ID of the route table for the route.
  33234. //
  33235. // RouteTableId is a required field
  33236. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  33237. // The ID of a transit gateway.
  33238. TransitGatewayId *string `type:"string"`
  33239. // The ID of a VPC peering connection.
  33240. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  33241. }
  33242. // String returns the string representation
  33243. func (s CreateRouteInput) String() string {
  33244. return awsutil.Prettify(s)
  33245. }
  33246. // GoString returns the string representation
  33247. func (s CreateRouteInput) GoString() string {
  33248. return s.String()
  33249. }
  33250. // Validate inspects the fields of the type to determine if they are valid.
  33251. func (s *CreateRouteInput) Validate() error {
  33252. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  33253. if s.RouteTableId == nil {
  33254. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  33255. }
  33256. if invalidParams.Len() > 0 {
  33257. return invalidParams
  33258. }
  33259. return nil
  33260. }
  33261. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  33262. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  33263. s.DestinationCidrBlock = &v
  33264. return s
  33265. }
  33266. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  33267. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  33268. s.DestinationIpv6CidrBlock = &v
  33269. return s
  33270. }
  33271. // SetDryRun sets the DryRun field's value.
  33272. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  33273. s.DryRun = &v
  33274. return s
  33275. }
  33276. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  33277. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  33278. s.EgressOnlyInternetGatewayId = &v
  33279. return s
  33280. }
  33281. // SetGatewayId sets the GatewayId field's value.
  33282. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  33283. s.GatewayId = &v
  33284. return s
  33285. }
  33286. // SetInstanceId sets the InstanceId field's value.
  33287. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  33288. s.InstanceId = &v
  33289. return s
  33290. }
  33291. // SetNatGatewayId sets the NatGatewayId field's value.
  33292. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  33293. s.NatGatewayId = &v
  33294. return s
  33295. }
  33296. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  33297. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  33298. s.NetworkInterfaceId = &v
  33299. return s
  33300. }
  33301. // SetRouteTableId sets the RouteTableId field's value.
  33302. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  33303. s.RouteTableId = &v
  33304. return s
  33305. }
  33306. // SetTransitGatewayId sets the TransitGatewayId field's value.
  33307. func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
  33308. s.TransitGatewayId = &v
  33309. return s
  33310. }
  33311. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  33312. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  33313. s.VpcPeeringConnectionId = &v
  33314. return s
  33315. }
  33316. type CreateRouteOutput struct {
  33317. _ struct{} `type:"structure"`
  33318. // Returns true if the request succeeds; otherwise, it returns an error.
  33319. Return *bool `locationName:"return" type:"boolean"`
  33320. }
  33321. // String returns the string representation
  33322. func (s CreateRouteOutput) String() string {
  33323. return awsutil.Prettify(s)
  33324. }
  33325. // GoString returns the string representation
  33326. func (s CreateRouteOutput) GoString() string {
  33327. return s.String()
  33328. }
  33329. // SetReturn sets the Return field's value.
  33330. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  33331. s.Return = &v
  33332. return s
  33333. }
  33334. type CreateRouteTableInput struct {
  33335. _ struct{} `type:"structure"`
  33336. // Checks whether you have the required permissions for the action, without
  33337. // actually making the request, and provides an error response. If you have
  33338. // the required permissions, the error response is DryRunOperation. Otherwise,
  33339. // it is UnauthorizedOperation.
  33340. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33341. // The ID of the VPC.
  33342. //
  33343. // VpcId is a required field
  33344. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  33345. }
  33346. // String returns the string representation
  33347. func (s CreateRouteTableInput) String() string {
  33348. return awsutil.Prettify(s)
  33349. }
  33350. // GoString returns the string representation
  33351. func (s CreateRouteTableInput) GoString() string {
  33352. return s.String()
  33353. }
  33354. // Validate inspects the fields of the type to determine if they are valid.
  33355. func (s *CreateRouteTableInput) Validate() error {
  33356. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  33357. if s.VpcId == nil {
  33358. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33359. }
  33360. if invalidParams.Len() > 0 {
  33361. return invalidParams
  33362. }
  33363. return nil
  33364. }
  33365. // SetDryRun sets the DryRun field's value.
  33366. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  33367. s.DryRun = &v
  33368. return s
  33369. }
  33370. // SetVpcId sets the VpcId field's value.
  33371. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  33372. s.VpcId = &v
  33373. return s
  33374. }
  33375. type CreateRouteTableOutput struct {
  33376. _ struct{} `type:"structure"`
  33377. // Information about the route table.
  33378. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  33379. }
  33380. // String returns the string representation
  33381. func (s CreateRouteTableOutput) String() string {
  33382. return awsutil.Prettify(s)
  33383. }
  33384. // GoString returns the string representation
  33385. func (s CreateRouteTableOutput) GoString() string {
  33386. return s.String()
  33387. }
  33388. // SetRouteTable sets the RouteTable field's value.
  33389. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  33390. s.RouteTable = v
  33391. return s
  33392. }
  33393. type CreateSecurityGroupInput struct {
  33394. _ struct{} `type:"structure"`
  33395. // A description for the security group. This is informational only.
  33396. //
  33397. // Constraints: Up to 255 characters in length
  33398. //
  33399. // Constraints for EC2-Classic: ASCII characters
  33400. //
  33401. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  33402. //
  33403. // Description is a required field
  33404. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  33405. // Checks whether you have the required permissions for the action, without
  33406. // actually making the request, and provides an error response. If you have
  33407. // the required permissions, the error response is DryRunOperation. Otherwise,
  33408. // it is UnauthorizedOperation.
  33409. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33410. // The name of the security group.
  33411. //
  33412. // Constraints: Up to 255 characters in length. Cannot start with sg-.
  33413. //
  33414. // Constraints for EC2-Classic: ASCII characters
  33415. //
  33416. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  33417. //
  33418. // GroupName is a required field
  33419. GroupName *string `type:"string" required:"true"`
  33420. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  33421. VpcId *string `type:"string"`
  33422. }
  33423. // String returns the string representation
  33424. func (s CreateSecurityGroupInput) String() string {
  33425. return awsutil.Prettify(s)
  33426. }
  33427. // GoString returns the string representation
  33428. func (s CreateSecurityGroupInput) GoString() string {
  33429. return s.String()
  33430. }
  33431. // Validate inspects the fields of the type to determine if they are valid.
  33432. func (s *CreateSecurityGroupInput) Validate() error {
  33433. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  33434. if s.Description == nil {
  33435. invalidParams.Add(request.NewErrParamRequired("Description"))
  33436. }
  33437. if s.GroupName == nil {
  33438. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  33439. }
  33440. if invalidParams.Len() > 0 {
  33441. return invalidParams
  33442. }
  33443. return nil
  33444. }
  33445. // SetDescription sets the Description field's value.
  33446. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  33447. s.Description = &v
  33448. return s
  33449. }
  33450. // SetDryRun sets the DryRun field's value.
  33451. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  33452. s.DryRun = &v
  33453. return s
  33454. }
  33455. // SetGroupName sets the GroupName field's value.
  33456. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  33457. s.GroupName = &v
  33458. return s
  33459. }
  33460. // SetVpcId sets the VpcId field's value.
  33461. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  33462. s.VpcId = &v
  33463. return s
  33464. }
  33465. type CreateSecurityGroupOutput struct {
  33466. _ struct{} `type:"structure"`
  33467. // The ID of the security group.
  33468. GroupId *string `locationName:"groupId" type:"string"`
  33469. }
  33470. // String returns the string representation
  33471. func (s CreateSecurityGroupOutput) String() string {
  33472. return awsutil.Prettify(s)
  33473. }
  33474. // GoString returns the string representation
  33475. func (s CreateSecurityGroupOutput) GoString() string {
  33476. return s.String()
  33477. }
  33478. // SetGroupId sets the GroupId field's value.
  33479. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  33480. s.GroupId = &v
  33481. return s
  33482. }
  33483. // Contains the parameters for CreateSnapshot.
  33484. type CreateSnapshotInput struct {
  33485. _ struct{} `type:"structure"`
  33486. // A description for the snapshot.
  33487. Description *string `type:"string"`
  33488. // Checks whether you have the required permissions for the action, without
  33489. // actually making the request, and provides an error response. If you have
  33490. // the required permissions, the error response is DryRunOperation. Otherwise,
  33491. // it is UnauthorizedOperation.
  33492. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33493. // The tags to apply to the snapshot during creation.
  33494. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  33495. // The ID of the EBS volume.
  33496. //
  33497. // VolumeId is a required field
  33498. VolumeId *string `type:"string" required:"true"`
  33499. }
  33500. // String returns the string representation
  33501. func (s CreateSnapshotInput) String() string {
  33502. return awsutil.Prettify(s)
  33503. }
  33504. // GoString returns the string representation
  33505. func (s CreateSnapshotInput) GoString() string {
  33506. return s.String()
  33507. }
  33508. // Validate inspects the fields of the type to determine if they are valid.
  33509. func (s *CreateSnapshotInput) Validate() error {
  33510. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  33511. if s.VolumeId == nil {
  33512. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  33513. }
  33514. if invalidParams.Len() > 0 {
  33515. return invalidParams
  33516. }
  33517. return nil
  33518. }
  33519. // SetDescription sets the Description field's value.
  33520. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  33521. s.Description = &v
  33522. return s
  33523. }
  33524. // SetDryRun sets the DryRun field's value.
  33525. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  33526. s.DryRun = &v
  33527. return s
  33528. }
  33529. // SetTagSpecifications sets the TagSpecifications field's value.
  33530. func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
  33531. s.TagSpecifications = v
  33532. return s
  33533. }
  33534. // SetVolumeId sets the VolumeId field's value.
  33535. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  33536. s.VolumeId = &v
  33537. return s
  33538. }
  33539. // Contains the parameters for CreateSpotDatafeedSubscription.
  33540. type CreateSpotDatafeedSubscriptionInput struct {
  33541. _ struct{} `type:"structure"`
  33542. // The Amazon S3 bucket in which to store the Spot Instance data feed.
  33543. //
  33544. // Bucket is a required field
  33545. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  33546. // Checks whether you have the required permissions for the action, without
  33547. // actually making the request, and provides an error response. If you have
  33548. // the required permissions, the error response is DryRunOperation. Otherwise,
  33549. // it is UnauthorizedOperation.
  33550. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33551. // A prefix for the data feed file names.
  33552. Prefix *string `locationName:"prefix" type:"string"`
  33553. }
  33554. // String returns the string representation
  33555. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  33556. return awsutil.Prettify(s)
  33557. }
  33558. // GoString returns the string representation
  33559. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  33560. return s.String()
  33561. }
  33562. // Validate inspects the fields of the type to determine if they are valid.
  33563. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  33564. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  33565. if s.Bucket == nil {
  33566. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  33567. }
  33568. if invalidParams.Len() > 0 {
  33569. return invalidParams
  33570. }
  33571. return nil
  33572. }
  33573. // SetBucket sets the Bucket field's value.
  33574. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  33575. s.Bucket = &v
  33576. return s
  33577. }
  33578. // SetDryRun sets the DryRun field's value.
  33579. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  33580. s.DryRun = &v
  33581. return s
  33582. }
  33583. // SetPrefix sets the Prefix field's value.
  33584. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  33585. s.Prefix = &v
  33586. return s
  33587. }
  33588. // Contains the output of CreateSpotDatafeedSubscription.
  33589. type CreateSpotDatafeedSubscriptionOutput struct {
  33590. _ struct{} `type:"structure"`
  33591. // The Spot Instance data feed subscription.
  33592. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  33593. }
  33594. // String returns the string representation
  33595. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  33596. return awsutil.Prettify(s)
  33597. }
  33598. // GoString returns the string representation
  33599. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  33600. return s.String()
  33601. }
  33602. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  33603. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  33604. s.SpotDatafeedSubscription = v
  33605. return s
  33606. }
  33607. type CreateSubnetInput struct {
  33608. _ struct{} `type:"structure"`
  33609. // The Availability Zone for the subnet.
  33610. //
  33611. // Default: AWS selects one for you. If you create more than one subnet in your
  33612. // VPC, we may not necessarily select a different zone for each subnet.
  33613. AvailabilityZone *string `type:"string"`
  33614. // The AZ ID of the subnet.
  33615. AvailabilityZoneId *string `type:"string"`
  33616. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  33617. //
  33618. // CidrBlock is a required field
  33619. CidrBlock *string `type:"string" required:"true"`
  33620. // Checks whether you have the required permissions for the action, without
  33621. // actually making the request, and provides an error response. If you have
  33622. // the required permissions, the error response is DryRunOperation. Otherwise,
  33623. // it is UnauthorizedOperation.
  33624. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33625. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  33626. // must use a /64 prefix length.
  33627. Ipv6CidrBlock *string `type:"string"`
  33628. // The ID of the VPC.
  33629. //
  33630. // VpcId is a required field
  33631. VpcId *string `type:"string" required:"true"`
  33632. }
  33633. // String returns the string representation
  33634. func (s CreateSubnetInput) String() string {
  33635. return awsutil.Prettify(s)
  33636. }
  33637. // GoString returns the string representation
  33638. func (s CreateSubnetInput) GoString() string {
  33639. return s.String()
  33640. }
  33641. // Validate inspects the fields of the type to determine if they are valid.
  33642. func (s *CreateSubnetInput) Validate() error {
  33643. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  33644. if s.CidrBlock == nil {
  33645. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  33646. }
  33647. if s.VpcId == nil {
  33648. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33649. }
  33650. if invalidParams.Len() > 0 {
  33651. return invalidParams
  33652. }
  33653. return nil
  33654. }
  33655. // SetAvailabilityZone sets the AvailabilityZone field's value.
  33656. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  33657. s.AvailabilityZone = &v
  33658. return s
  33659. }
  33660. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  33661. func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
  33662. s.AvailabilityZoneId = &v
  33663. return s
  33664. }
  33665. // SetCidrBlock sets the CidrBlock field's value.
  33666. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  33667. s.CidrBlock = &v
  33668. return s
  33669. }
  33670. // SetDryRun sets the DryRun field's value.
  33671. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  33672. s.DryRun = &v
  33673. return s
  33674. }
  33675. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  33676. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  33677. s.Ipv6CidrBlock = &v
  33678. return s
  33679. }
  33680. // SetVpcId sets the VpcId field's value.
  33681. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  33682. s.VpcId = &v
  33683. return s
  33684. }
  33685. type CreateSubnetOutput struct {
  33686. _ struct{} `type:"structure"`
  33687. // Information about the subnet.
  33688. Subnet *Subnet `locationName:"subnet" type:"structure"`
  33689. }
  33690. // String returns the string representation
  33691. func (s CreateSubnetOutput) String() string {
  33692. return awsutil.Prettify(s)
  33693. }
  33694. // GoString returns the string representation
  33695. func (s CreateSubnetOutput) GoString() string {
  33696. return s.String()
  33697. }
  33698. // SetSubnet sets the Subnet field's value.
  33699. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  33700. s.Subnet = v
  33701. return s
  33702. }
  33703. type CreateTagsInput struct {
  33704. _ struct{} `type:"structure"`
  33705. // Checks whether you have the required permissions for the action, without
  33706. // actually making the request, and provides an error response. If you have
  33707. // the required permissions, the error response is DryRunOperation. Otherwise,
  33708. // it is UnauthorizedOperation.
  33709. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33710. // The IDs of one or more resources, separated by spaces.
  33711. //
  33712. // Constraints: Up to 1000 resource IDs. We recommend breaking up this request
  33713. // into smaller batches.
  33714. //
  33715. // Resources is a required field
  33716. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  33717. // One or more tags. The value parameter is required, but if you don't want
  33718. // the tag to have a value, specify the parameter with no value, and we set
  33719. // the value to an empty string.
  33720. //
  33721. // Tags is a required field
  33722. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  33723. }
  33724. // String returns the string representation
  33725. func (s CreateTagsInput) String() string {
  33726. return awsutil.Prettify(s)
  33727. }
  33728. // GoString returns the string representation
  33729. func (s CreateTagsInput) GoString() string {
  33730. return s.String()
  33731. }
  33732. // Validate inspects the fields of the type to determine if they are valid.
  33733. func (s *CreateTagsInput) Validate() error {
  33734. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  33735. if s.Resources == nil {
  33736. invalidParams.Add(request.NewErrParamRequired("Resources"))
  33737. }
  33738. if s.Tags == nil {
  33739. invalidParams.Add(request.NewErrParamRequired("Tags"))
  33740. }
  33741. if invalidParams.Len() > 0 {
  33742. return invalidParams
  33743. }
  33744. return nil
  33745. }
  33746. // SetDryRun sets the DryRun field's value.
  33747. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  33748. s.DryRun = &v
  33749. return s
  33750. }
  33751. // SetResources sets the Resources field's value.
  33752. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  33753. s.Resources = v
  33754. return s
  33755. }
  33756. // SetTags sets the Tags field's value.
  33757. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  33758. s.Tags = v
  33759. return s
  33760. }
  33761. type CreateTagsOutput struct {
  33762. _ struct{} `type:"structure"`
  33763. }
  33764. // String returns the string representation
  33765. func (s CreateTagsOutput) String() string {
  33766. return awsutil.Prettify(s)
  33767. }
  33768. // GoString returns the string representation
  33769. func (s CreateTagsOutput) GoString() string {
  33770. return s.String()
  33771. }
  33772. type CreateTransitGatewayInput struct {
  33773. _ struct{} `type:"structure"`
  33774. // A description of the transit gateway.
  33775. Description *string `type:"string"`
  33776. // Checks whether you have the required permissions for the action, without
  33777. // actually making the request, and provides an error response. If you have
  33778. // the required permissions, the error response is DryRunOperation. Otherwise,
  33779. // it is UnauthorizedOperation.
  33780. DryRun *bool `type:"boolean"`
  33781. // The transit gateway options.
  33782. Options *TransitGatewayRequestOptions `type:"structure"`
  33783. // The tags to apply to the transit gateway.
  33784. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  33785. }
  33786. // String returns the string representation
  33787. func (s CreateTransitGatewayInput) String() string {
  33788. return awsutil.Prettify(s)
  33789. }
  33790. // GoString returns the string representation
  33791. func (s CreateTransitGatewayInput) GoString() string {
  33792. return s.String()
  33793. }
  33794. // SetDescription sets the Description field's value.
  33795. func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
  33796. s.Description = &v
  33797. return s
  33798. }
  33799. // SetDryRun sets the DryRun field's value.
  33800. func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
  33801. s.DryRun = &v
  33802. return s
  33803. }
  33804. // SetOptions sets the Options field's value.
  33805. func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
  33806. s.Options = v
  33807. return s
  33808. }
  33809. // SetTagSpecifications sets the TagSpecifications field's value.
  33810. func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
  33811. s.TagSpecifications = v
  33812. return s
  33813. }
  33814. type CreateTransitGatewayOutput struct {
  33815. _ struct{} `type:"structure"`
  33816. // Information about the transit gateway.
  33817. TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
  33818. }
  33819. // String returns the string representation
  33820. func (s CreateTransitGatewayOutput) String() string {
  33821. return awsutil.Prettify(s)
  33822. }
  33823. // GoString returns the string representation
  33824. func (s CreateTransitGatewayOutput) GoString() string {
  33825. return s.String()
  33826. }
  33827. // SetTransitGateway sets the TransitGateway field's value.
  33828. func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
  33829. s.TransitGateway = v
  33830. return s
  33831. }
  33832. type CreateTransitGatewayRouteInput struct {
  33833. _ struct{} `type:"structure"`
  33834. // Indicates whether traffic matching this route is to be dropped.
  33835. Blackhole *bool `type:"boolean"`
  33836. // The CIDR range used for destination matches. Routing decisions are based
  33837. // on the most specific match.
  33838. //
  33839. // DestinationCidrBlock is a required field
  33840. DestinationCidrBlock *string `type:"string" required:"true"`
  33841. // Checks whether you have the required permissions for the action, without
  33842. // actually making the request, and provides an error response. If you have
  33843. // the required permissions, the error response is DryRunOperation. Otherwise,
  33844. // it is UnauthorizedOperation.
  33845. DryRun *bool `type:"boolean"`
  33846. // The ID of the attachment.
  33847. TransitGatewayAttachmentId *string `type:"string"`
  33848. // The ID of the transit gateway route table.
  33849. //
  33850. // TransitGatewayRouteTableId is a required field
  33851. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  33852. }
  33853. // String returns the string representation
  33854. func (s CreateTransitGatewayRouteInput) String() string {
  33855. return awsutil.Prettify(s)
  33856. }
  33857. // GoString returns the string representation
  33858. func (s CreateTransitGatewayRouteInput) GoString() string {
  33859. return s.String()
  33860. }
  33861. // Validate inspects the fields of the type to determine if they are valid.
  33862. func (s *CreateTransitGatewayRouteInput) Validate() error {
  33863. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
  33864. if s.DestinationCidrBlock == nil {
  33865. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  33866. }
  33867. if s.TransitGatewayRouteTableId == nil {
  33868. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  33869. }
  33870. if invalidParams.Len() > 0 {
  33871. return invalidParams
  33872. }
  33873. return nil
  33874. }
  33875. // SetBlackhole sets the Blackhole field's value.
  33876. func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
  33877. s.Blackhole = &v
  33878. return s
  33879. }
  33880. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  33881. func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
  33882. s.DestinationCidrBlock = &v
  33883. return s
  33884. }
  33885. // SetDryRun sets the DryRun field's value.
  33886. func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
  33887. s.DryRun = &v
  33888. return s
  33889. }
  33890. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  33891. func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
  33892. s.TransitGatewayAttachmentId = &v
  33893. return s
  33894. }
  33895. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  33896. func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
  33897. s.TransitGatewayRouteTableId = &v
  33898. return s
  33899. }
  33900. type CreateTransitGatewayRouteOutput struct {
  33901. _ struct{} `type:"structure"`
  33902. // Information about the route.
  33903. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  33904. }
  33905. // String returns the string representation
  33906. func (s CreateTransitGatewayRouteOutput) String() string {
  33907. return awsutil.Prettify(s)
  33908. }
  33909. // GoString returns the string representation
  33910. func (s CreateTransitGatewayRouteOutput) GoString() string {
  33911. return s.String()
  33912. }
  33913. // SetRoute sets the Route field's value.
  33914. func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
  33915. s.Route = v
  33916. return s
  33917. }
  33918. type CreateTransitGatewayRouteTableInput struct {
  33919. _ struct{} `type:"structure"`
  33920. // Checks whether you have the required permissions for the action, without
  33921. // actually making the request, and provides an error response. If you have
  33922. // the required permissions, the error response is DryRunOperation. Otherwise,
  33923. // it is UnauthorizedOperation.
  33924. DryRun *bool `type:"boolean"`
  33925. // The tags to apply to the transit gateway route table.
  33926. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  33927. // The ID of the transit gateway.
  33928. //
  33929. // TransitGatewayId is a required field
  33930. TransitGatewayId *string `type:"string" required:"true"`
  33931. }
  33932. // String returns the string representation
  33933. func (s CreateTransitGatewayRouteTableInput) String() string {
  33934. return awsutil.Prettify(s)
  33935. }
  33936. // GoString returns the string representation
  33937. func (s CreateTransitGatewayRouteTableInput) GoString() string {
  33938. return s.String()
  33939. }
  33940. // Validate inspects the fields of the type to determine if they are valid.
  33941. func (s *CreateTransitGatewayRouteTableInput) Validate() error {
  33942. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
  33943. if s.TransitGatewayId == nil {
  33944. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  33945. }
  33946. if invalidParams.Len() > 0 {
  33947. return invalidParams
  33948. }
  33949. return nil
  33950. }
  33951. // SetDryRun sets the DryRun field's value.
  33952. func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
  33953. s.DryRun = &v
  33954. return s
  33955. }
  33956. // SetTagSpecifications sets the TagSpecifications field's value.
  33957. func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
  33958. s.TagSpecifications = v
  33959. return s
  33960. }
  33961. // SetTransitGatewayId sets the TransitGatewayId field's value.
  33962. func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
  33963. s.TransitGatewayId = &v
  33964. return s
  33965. }
  33966. type CreateTransitGatewayRouteTableOutput struct {
  33967. _ struct{} `type:"structure"`
  33968. // Information about the transit gateway route table.
  33969. TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
  33970. }
  33971. // String returns the string representation
  33972. func (s CreateTransitGatewayRouteTableOutput) String() string {
  33973. return awsutil.Prettify(s)
  33974. }
  33975. // GoString returns the string representation
  33976. func (s CreateTransitGatewayRouteTableOutput) GoString() string {
  33977. return s.String()
  33978. }
  33979. // SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
  33980. func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
  33981. s.TransitGatewayRouteTable = v
  33982. return s
  33983. }
  33984. type CreateTransitGatewayVpcAttachmentInput struct {
  33985. _ struct{} `type:"structure"`
  33986. // Checks whether you have the required permissions for the action, without
  33987. // actually making the request, and provides an error response. If you have
  33988. // the required permissions, the error response is DryRunOperation. Otherwise,
  33989. // it is UnauthorizedOperation.
  33990. DryRun *bool `type:"boolean"`
  33991. // The VPC attachment options.
  33992. Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
  33993. // The IDs of one or more subnets. You can specify only one subnet per Availability
  33994. // Zone. You must specify at least one subnet, but we recommend that you specify
  33995. // two subnets for better availability. The transit gateway uses one IP address
  33996. // from each specified subnet.
  33997. //
  33998. // SubnetIds is a required field
  33999. SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
  34000. // The tags to apply to the VPC attachment.
  34001. TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
  34002. // The ID of the transit gateway.
  34003. //
  34004. // TransitGatewayId is a required field
  34005. TransitGatewayId *string `type:"string" required:"true"`
  34006. // The ID of the VPC.
  34007. //
  34008. // VpcId is a required field
  34009. VpcId *string `type:"string" required:"true"`
  34010. }
  34011. // String returns the string representation
  34012. func (s CreateTransitGatewayVpcAttachmentInput) String() string {
  34013. return awsutil.Prettify(s)
  34014. }
  34015. // GoString returns the string representation
  34016. func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
  34017. return s.String()
  34018. }
  34019. // Validate inspects the fields of the type to determine if they are valid.
  34020. func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
  34021. invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
  34022. if s.SubnetIds == nil {
  34023. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  34024. }
  34025. if s.TransitGatewayId == nil {
  34026. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  34027. }
  34028. if s.VpcId == nil {
  34029. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  34030. }
  34031. if invalidParams.Len() > 0 {
  34032. return invalidParams
  34033. }
  34034. return nil
  34035. }
  34036. // SetDryRun sets the DryRun field's value.
  34037. func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
  34038. s.DryRun = &v
  34039. return s
  34040. }
  34041. // SetOptions sets the Options field's value.
  34042. func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
  34043. s.Options = v
  34044. return s
  34045. }
  34046. // SetSubnetIds sets the SubnetIds field's value.
  34047. func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
  34048. s.SubnetIds = v
  34049. return s
  34050. }
  34051. // SetTagSpecifications sets the TagSpecifications field's value.
  34052. func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
  34053. s.TagSpecifications = v
  34054. return s
  34055. }
  34056. // SetTransitGatewayId sets the TransitGatewayId field's value.
  34057. func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
  34058. s.TransitGatewayId = &v
  34059. return s
  34060. }
  34061. // SetVpcId sets the VpcId field's value.
  34062. func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
  34063. s.VpcId = &v
  34064. return s
  34065. }
  34066. type CreateTransitGatewayVpcAttachmentOutput struct {
  34067. _ struct{} `type:"structure"`
  34068. // Information about the VPC attachment.
  34069. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  34070. }
  34071. // String returns the string representation
  34072. func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
  34073. return awsutil.Prettify(s)
  34074. }
  34075. // GoString returns the string representation
  34076. func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
  34077. return s.String()
  34078. }
  34079. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  34080. func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
  34081. s.TransitGatewayVpcAttachment = v
  34082. return s
  34083. }
  34084. // Describes the options for a VPC attachment.
  34085. type CreateTransitGatewayVpcAttachmentRequestOptions struct {
  34086. _ struct{} `type:"structure"`
  34087. // Enable or disable DNS support. The default is enable.
  34088. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  34089. // Enable or disable IPv6 support. The default is enable.
  34090. Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
  34091. }
  34092. // String returns the string representation
  34093. func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
  34094. return awsutil.Prettify(s)
  34095. }
  34096. // GoString returns the string representation
  34097. func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
  34098. return s.String()
  34099. }
  34100. // SetDnsSupport sets the DnsSupport field's value.
  34101. func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
  34102. s.DnsSupport = &v
  34103. return s
  34104. }
  34105. // SetIpv6Support sets the Ipv6Support field's value.
  34106. func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
  34107. s.Ipv6Support = &v
  34108. return s
  34109. }
  34110. // Contains the parameters for CreateVolume.
  34111. type CreateVolumeInput struct {
  34112. _ struct{} `type:"structure"`
  34113. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  34114. // to list the Availability Zones that are currently available to you.
  34115. //
  34116. // AvailabilityZone is a required field
  34117. AvailabilityZone *string `type:"string" required:"true"`
  34118. // Checks whether you have the required permissions for the action, without
  34119. // actually making the request, and provides an error response. If you have
  34120. // the required permissions, the error response is DryRunOperation. Otherwise,
  34121. // it is UnauthorizedOperation.
  34122. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34123. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  34124. // may only be attached to instances that support Amazon EBS encryption. Volumes
  34125. // that are created from encrypted snapshots are automatically encrypted. There
  34126. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  34127. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  34128. // instance types. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  34129. // in the Amazon Elastic Compute Cloud User Guide.
  34130. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  34131. // The number of I/O operations per second (IOPS) to provision for the volume,
  34132. // with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes
  34133. // in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based
  34134. // instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  34135. // Other instance families guarantee performance up to 32,000 IOPS. For more
  34136. // information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  34137. // in the Amazon Elastic Compute Cloud User Guide.
  34138. //
  34139. // This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
  34140. Iops *int64 `type:"integer"`
  34141. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  34142. // key (CMK) to use when creating the encrypted volume. This parameter is only
  34143. // required if you want to use a non-default CMK; if this parameter is not specified,
  34144. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  34145. // flag must also be set.
  34146. //
  34147. // The CMK identifier may be provided in any of the following formats:
  34148. //
  34149. // * Key ID
  34150. //
  34151. // * Key alias
  34152. //
  34153. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  34154. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  34155. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  34156. //
  34157. //
  34158. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  34159. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  34160. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  34161. //
  34162. //
  34163. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  34164. // appear to complete even though you provided an invalid identifier. The action
  34165. // will eventually fail.
  34166. KmsKeyId *string `type:"string"`
  34167. // The size of the volume, in GiBs.
  34168. //
  34169. // Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
  34170. // for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume
  34171. // size must be equal to or larger than the snapshot size.
  34172. //
  34173. // Default: If you're creating the volume from a snapshot and don't specify
  34174. // a volume size, the default is the snapshot size.
  34175. //
  34176. // At least one of Size or SnapshotId are required.
  34177. Size *int64 `type:"integer"`
  34178. // The snapshot from which to create the volume.
  34179. //
  34180. // At least one of Size or SnapshotId are required.
  34181. SnapshotId *string `type:"string"`
  34182. // The tags to apply to the volume during creation.
  34183. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  34184. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  34185. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  34186. // for Magnetic volumes.
  34187. //
  34188. // Defaults: If no volume type is specified, the default is standard in us-east-1,
  34189. // eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1,
  34190. // ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1,
  34191. // and cn-north-1. In all other Regions, EBS defaults to gp2.
  34192. VolumeType *string `type:"string" enum:"VolumeType"`
  34193. }
  34194. // String returns the string representation
  34195. func (s CreateVolumeInput) String() string {
  34196. return awsutil.Prettify(s)
  34197. }
  34198. // GoString returns the string representation
  34199. func (s CreateVolumeInput) GoString() string {
  34200. return s.String()
  34201. }
  34202. // Validate inspects the fields of the type to determine if they are valid.
  34203. func (s *CreateVolumeInput) Validate() error {
  34204. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  34205. if s.AvailabilityZone == nil {
  34206. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  34207. }
  34208. if invalidParams.Len() > 0 {
  34209. return invalidParams
  34210. }
  34211. return nil
  34212. }
  34213. // SetAvailabilityZone sets the AvailabilityZone field's value.
  34214. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  34215. s.AvailabilityZone = &v
  34216. return s
  34217. }
  34218. // SetDryRun sets the DryRun field's value.
  34219. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  34220. s.DryRun = &v
  34221. return s
  34222. }
  34223. // SetEncrypted sets the Encrypted field's value.
  34224. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  34225. s.Encrypted = &v
  34226. return s
  34227. }
  34228. // SetIops sets the Iops field's value.
  34229. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  34230. s.Iops = &v
  34231. return s
  34232. }
  34233. // SetKmsKeyId sets the KmsKeyId field's value.
  34234. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  34235. s.KmsKeyId = &v
  34236. return s
  34237. }
  34238. // SetSize sets the Size field's value.
  34239. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  34240. s.Size = &v
  34241. return s
  34242. }
  34243. // SetSnapshotId sets the SnapshotId field's value.
  34244. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  34245. s.SnapshotId = &v
  34246. return s
  34247. }
  34248. // SetTagSpecifications sets the TagSpecifications field's value.
  34249. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  34250. s.TagSpecifications = v
  34251. return s
  34252. }
  34253. // SetVolumeType sets the VolumeType field's value.
  34254. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  34255. s.VolumeType = &v
  34256. return s
  34257. }
  34258. // Describes the user or group to be added or removed from the list of create
  34259. // volume permissions for a volume.
  34260. type CreateVolumePermission struct {
  34261. _ struct{} `type:"structure"`
  34262. // The group to be added or removed. The possible value is all.
  34263. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  34264. // The AWS account ID to be added or removed.
  34265. UserId *string `locationName:"userId" type:"string"`
  34266. }
  34267. // String returns the string representation
  34268. func (s CreateVolumePermission) String() string {
  34269. return awsutil.Prettify(s)
  34270. }
  34271. // GoString returns the string representation
  34272. func (s CreateVolumePermission) GoString() string {
  34273. return s.String()
  34274. }
  34275. // SetGroup sets the Group field's value.
  34276. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  34277. s.Group = &v
  34278. return s
  34279. }
  34280. // SetUserId sets the UserId field's value.
  34281. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  34282. s.UserId = &v
  34283. return s
  34284. }
  34285. // Describes modifications to the list of create volume permissions for a volume.
  34286. type CreateVolumePermissionModifications struct {
  34287. _ struct{} `type:"structure"`
  34288. // Adds the specified AWS account ID or group to the list.
  34289. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  34290. // Removes the specified AWS account ID or group from the list.
  34291. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  34292. }
  34293. // String returns the string representation
  34294. func (s CreateVolumePermissionModifications) String() string {
  34295. return awsutil.Prettify(s)
  34296. }
  34297. // GoString returns the string representation
  34298. func (s CreateVolumePermissionModifications) GoString() string {
  34299. return s.String()
  34300. }
  34301. // SetAdd sets the Add field's value.
  34302. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  34303. s.Add = v
  34304. return s
  34305. }
  34306. // SetRemove sets the Remove field's value.
  34307. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  34308. s.Remove = v
  34309. return s
  34310. }
  34311. type CreateVpcEndpointConnectionNotificationInput struct {
  34312. _ struct{} `type:"structure"`
  34313. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34314. // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  34315. ClientToken *string `type:"string"`
  34316. // One or more endpoint events for which to receive notifications. Valid values
  34317. // are Accept, Connect, Delete, and Reject.
  34318. //
  34319. // ConnectionEvents is a required field
  34320. ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
  34321. // The ARN of the SNS topic for the notifications.
  34322. //
  34323. // ConnectionNotificationArn is a required field
  34324. ConnectionNotificationArn *string `type:"string" required:"true"`
  34325. // Checks whether you have the required permissions for the action, without
  34326. // actually making the request, and provides an error response. If you have
  34327. // the required permissions, the error response is DryRunOperation. Otherwise,
  34328. // it is UnauthorizedOperation.
  34329. DryRun *bool `type:"boolean"`
  34330. // The ID of the endpoint service.
  34331. ServiceId *string `type:"string"`
  34332. // The ID of the endpoint.
  34333. VpcEndpointId *string `type:"string"`
  34334. }
  34335. // String returns the string representation
  34336. func (s CreateVpcEndpointConnectionNotificationInput) String() string {
  34337. return awsutil.Prettify(s)
  34338. }
  34339. // GoString returns the string representation
  34340. func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
  34341. return s.String()
  34342. }
  34343. // Validate inspects the fields of the type to determine if they are valid.
  34344. func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
  34345. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
  34346. if s.ConnectionEvents == nil {
  34347. invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
  34348. }
  34349. if s.ConnectionNotificationArn == nil {
  34350. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
  34351. }
  34352. if invalidParams.Len() > 0 {
  34353. return invalidParams
  34354. }
  34355. return nil
  34356. }
  34357. // SetClientToken sets the ClientToken field's value.
  34358. func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
  34359. s.ClientToken = &v
  34360. return s
  34361. }
  34362. // SetConnectionEvents sets the ConnectionEvents field's value.
  34363. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
  34364. s.ConnectionEvents = v
  34365. return s
  34366. }
  34367. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  34368. func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
  34369. s.ConnectionNotificationArn = &v
  34370. return s
  34371. }
  34372. // SetDryRun sets the DryRun field's value.
  34373. func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
  34374. s.DryRun = &v
  34375. return s
  34376. }
  34377. // SetServiceId sets the ServiceId field's value.
  34378. func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
  34379. s.ServiceId = &v
  34380. return s
  34381. }
  34382. // SetVpcEndpointId sets the VpcEndpointId field's value.
  34383. func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
  34384. s.VpcEndpointId = &v
  34385. return s
  34386. }
  34387. type CreateVpcEndpointConnectionNotificationOutput struct {
  34388. _ struct{} `type:"structure"`
  34389. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34390. // the request.
  34391. ClientToken *string `locationName:"clientToken" type:"string"`
  34392. // Information about the notification.
  34393. ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
  34394. }
  34395. // String returns the string representation
  34396. func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
  34397. return awsutil.Prettify(s)
  34398. }
  34399. // GoString returns the string representation
  34400. func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
  34401. return s.String()
  34402. }
  34403. // SetClientToken sets the ClientToken field's value.
  34404. func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
  34405. s.ClientToken = &v
  34406. return s
  34407. }
  34408. // SetConnectionNotification sets the ConnectionNotification field's value.
  34409. func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
  34410. s.ConnectionNotification = v
  34411. return s
  34412. }
  34413. // Contains the parameters for CreateVpcEndpoint.
  34414. type CreateVpcEndpointInput struct {
  34415. _ struct{} `type:"structure"`
  34416. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34417. // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  34418. ClientToken *string `type:"string"`
  34419. // Checks whether you have the required permissions for the action, without
  34420. // actually making the request, and provides an error response. If you have
  34421. // the required permissions, the error response is DryRunOperation. Otherwise,
  34422. // it is UnauthorizedOperation.
  34423. DryRun *bool `type:"boolean"`
  34424. // A policy to attach to the endpoint that controls access to the service. The
  34425. // policy must be in valid JSON format. If this parameter is not specified,
  34426. // we attach a default policy that allows full access to the service.
  34427. PolicyDocument *string `type:"string"`
  34428. // (Interface endpoint) Indicate whether to associate a private hosted zone
  34429. // with the specified VPC. The private hosted zone contains a record set for
  34430. // the default public DNS name for the service for the region (for example,
  34431. // kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
  34432. // of the endpoint network interfaces in the VPC. This enables you to make requests
  34433. // to the default public DNS name for the service instead of the public DNS
  34434. // names that are automatically generated by the VPC endpoint service.
  34435. //
  34436. // To use a private hosted zone, you must set the following VPC attributes to
  34437. // true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
  34438. // set the VPC attributes.
  34439. //
  34440. // Default: false
  34441. PrivateDnsEnabled *bool `type:"boolean"`
  34442. // (Gateway endpoint) One or more route table IDs.
  34443. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  34444. // (Interface endpoint) The ID of one or more security groups to associate with
  34445. // the endpoint network interface.
  34446. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  34447. // The service name. To get a list of available services, use the DescribeVpcEndpointServices
  34448. // request, or get the name from the service provider.
  34449. //
  34450. // ServiceName is a required field
  34451. ServiceName *string `type:"string" required:"true"`
  34452. // (Interface endpoint) The ID of one or more subnets in which to create an
  34453. // endpoint network interface.
  34454. SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
  34455. // The type of endpoint.
  34456. //
  34457. // Default: Gateway
  34458. VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
  34459. // The ID of the VPC in which the endpoint will be used.
  34460. //
  34461. // VpcId is a required field
  34462. VpcId *string `type:"string" required:"true"`
  34463. }
  34464. // String returns the string representation
  34465. func (s CreateVpcEndpointInput) String() string {
  34466. return awsutil.Prettify(s)
  34467. }
  34468. // GoString returns the string representation
  34469. func (s CreateVpcEndpointInput) GoString() string {
  34470. return s.String()
  34471. }
  34472. // Validate inspects the fields of the type to determine if they are valid.
  34473. func (s *CreateVpcEndpointInput) Validate() error {
  34474. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  34475. if s.ServiceName == nil {
  34476. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  34477. }
  34478. if s.VpcId == nil {
  34479. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  34480. }
  34481. if invalidParams.Len() > 0 {
  34482. return invalidParams
  34483. }
  34484. return nil
  34485. }
  34486. // SetClientToken sets the ClientToken field's value.
  34487. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  34488. s.ClientToken = &v
  34489. return s
  34490. }
  34491. // SetDryRun sets the DryRun field's value.
  34492. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  34493. s.DryRun = &v
  34494. return s
  34495. }
  34496. // SetPolicyDocument sets the PolicyDocument field's value.
  34497. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  34498. s.PolicyDocument = &v
  34499. return s
  34500. }
  34501. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  34502. func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
  34503. s.PrivateDnsEnabled = &v
  34504. return s
  34505. }
  34506. // SetRouteTableIds sets the RouteTableIds field's value.
  34507. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  34508. s.RouteTableIds = v
  34509. return s
  34510. }
  34511. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  34512. func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
  34513. s.SecurityGroupIds = v
  34514. return s
  34515. }
  34516. // SetServiceName sets the ServiceName field's value.
  34517. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  34518. s.ServiceName = &v
  34519. return s
  34520. }
  34521. // SetSubnetIds sets the SubnetIds field's value.
  34522. func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
  34523. s.SubnetIds = v
  34524. return s
  34525. }
  34526. // SetVpcEndpointType sets the VpcEndpointType field's value.
  34527. func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
  34528. s.VpcEndpointType = &v
  34529. return s
  34530. }
  34531. // SetVpcId sets the VpcId field's value.
  34532. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  34533. s.VpcId = &v
  34534. return s
  34535. }
  34536. // Contains the output of CreateVpcEndpoint.
  34537. type CreateVpcEndpointOutput struct {
  34538. _ struct{} `type:"structure"`
  34539. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34540. // the request.
  34541. ClientToken *string `locationName:"clientToken" type:"string"`
  34542. // Information about the endpoint.
  34543. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  34544. }
  34545. // String returns the string representation
  34546. func (s CreateVpcEndpointOutput) String() string {
  34547. return awsutil.Prettify(s)
  34548. }
  34549. // GoString returns the string representation
  34550. func (s CreateVpcEndpointOutput) GoString() string {
  34551. return s.String()
  34552. }
  34553. // SetClientToken sets the ClientToken field's value.
  34554. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  34555. s.ClientToken = &v
  34556. return s
  34557. }
  34558. // SetVpcEndpoint sets the VpcEndpoint field's value.
  34559. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  34560. s.VpcEndpoint = v
  34561. return s
  34562. }
  34563. type CreateVpcEndpointServiceConfigurationInput struct {
  34564. _ struct{} `type:"structure"`
  34565. // Indicate whether requests from service consumers to create an endpoint to
  34566. // your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
  34567. AcceptanceRequired *bool `type:"boolean"`
  34568. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34569. // the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  34570. ClientToken *string `type:"string"`
  34571. // Checks whether you have the required permissions for the action, without
  34572. // actually making the request, and provides an error response. If you have
  34573. // the required permissions, the error response is DryRunOperation. Otherwise,
  34574. // it is UnauthorizedOperation.
  34575. DryRun *bool `type:"boolean"`
  34576. // The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
  34577. // your service.
  34578. //
  34579. // NetworkLoadBalancerArns is a required field
  34580. NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
  34581. }
  34582. // String returns the string representation
  34583. func (s CreateVpcEndpointServiceConfigurationInput) String() string {
  34584. return awsutil.Prettify(s)
  34585. }
  34586. // GoString returns the string representation
  34587. func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
  34588. return s.String()
  34589. }
  34590. // Validate inspects the fields of the type to determine if they are valid.
  34591. func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
  34592. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
  34593. if s.NetworkLoadBalancerArns == nil {
  34594. invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
  34595. }
  34596. if invalidParams.Len() > 0 {
  34597. return invalidParams
  34598. }
  34599. return nil
  34600. }
  34601. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  34602. func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
  34603. s.AcceptanceRequired = &v
  34604. return s
  34605. }
  34606. // SetClientToken sets the ClientToken field's value.
  34607. func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
  34608. s.ClientToken = &v
  34609. return s
  34610. }
  34611. // SetDryRun sets the DryRun field's value.
  34612. func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
  34613. s.DryRun = &v
  34614. return s
  34615. }
  34616. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  34617. func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
  34618. s.NetworkLoadBalancerArns = v
  34619. return s
  34620. }
  34621. type CreateVpcEndpointServiceConfigurationOutput struct {
  34622. _ struct{} `type:"structure"`
  34623. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  34624. // the request.
  34625. ClientToken *string `locationName:"clientToken" type:"string"`
  34626. // Information about the service configuration.
  34627. ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
  34628. }
  34629. // String returns the string representation
  34630. func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
  34631. return awsutil.Prettify(s)
  34632. }
  34633. // GoString returns the string representation
  34634. func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
  34635. return s.String()
  34636. }
  34637. // SetClientToken sets the ClientToken field's value.
  34638. func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
  34639. s.ClientToken = &v
  34640. return s
  34641. }
  34642. // SetServiceConfiguration sets the ServiceConfiguration field's value.
  34643. func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
  34644. s.ServiceConfiguration = v
  34645. return s
  34646. }
  34647. type CreateVpcInput struct {
  34648. _ struct{} `type:"structure"`
  34649. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  34650. // the VPC. You cannot specify the range of IP addresses, or the size of the
  34651. // CIDR block.
  34652. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  34653. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  34654. //
  34655. // CidrBlock is a required field
  34656. CidrBlock *string `type:"string" required:"true"`
  34657. // Checks whether you have the required permissions for the action, without
  34658. // actually making the request, and provides an error response. If you have
  34659. // the required permissions, the error response is DryRunOperation. Otherwise,
  34660. // it is UnauthorizedOperation.
  34661. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34662. // The tenancy options for instances launched into the VPC. For default, instances
  34663. // are launched with shared tenancy by default. You can launch instances with
  34664. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  34665. // as dedicated tenancy instances by default. You can only launch instances
  34666. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  34667. //
  34668. // Important: The host value cannot be used with this parameter. Use the default
  34669. // or dedicated values only.
  34670. //
  34671. // Default: default
  34672. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  34673. }
  34674. // String returns the string representation
  34675. func (s CreateVpcInput) String() string {
  34676. return awsutil.Prettify(s)
  34677. }
  34678. // GoString returns the string representation
  34679. func (s CreateVpcInput) GoString() string {
  34680. return s.String()
  34681. }
  34682. // Validate inspects the fields of the type to determine if they are valid.
  34683. func (s *CreateVpcInput) Validate() error {
  34684. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  34685. if s.CidrBlock == nil {
  34686. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  34687. }
  34688. if invalidParams.Len() > 0 {
  34689. return invalidParams
  34690. }
  34691. return nil
  34692. }
  34693. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  34694. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  34695. s.AmazonProvidedIpv6CidrBlock = &v
  34696. return s
  34697. }
  34698. // SetCidrBlock sets the CidrBlock field's value.
  34699. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  34700. s.CidrBlock = &v
  34701. return s
  34702. }
  34703. // SetDryRun sets the DryRun field's value.
  34704. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  34705. s.DryRun = &v
  34706. return s
  34707. }
  34708. // SetInstanceTenancy sets the InstanceTenancy field's value.
  34709. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  34710. s.InstanceTenancy = &v
  34711. return s
  34712. }
  34713. type CreateVpcOutput struct {
  34714. _ struct{} `type:"structure"`
  34715. // Information about the VPC.
  34716. Vpc *Vpc `locationName:"vpc" type:"structure"`
  34717. }
  34718. // String returns the string representation
  34719. func (s CreateVpcOutput) String() string {
  34720. return awsutil.Prettify(s)
  34721. }
  34722. // GoString returns the string representation
  34723. func (s CreateVpcOutput) GoString() string {
  34724. return s.String()
  34725. }
  34726. // SetVpc sets the Vpc field's value.
  34727. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  34728. s.Vpc = v
  34729. return s
  34730. }
  34731. type CreateVpcPeeringConnectionInput struct {
  34732. _ struct{} `type:"structure"`
  34733. // Checks whether you have the required permissions for the action, without
  34734. // actually making the request, and provides an error response. If you have
  34735. // the required permissions, the error response is DryRunOperation. Otherwise,
  34736. // it is UnauthorizedOperation.
  34737. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34738. // The AWS account ID of the owner of the accepter VPC.
  34739. //
  34740. // Default: Your AWS account ID
  34741. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  34742. // The region code for the accepter VPC, if the accepter VPC is located in a
  34743. // region other than the region in which you make the request.
  34744. //
  34745. // Default: The region in which you make the request.
  34746. PeerRegion *string `type:"string"`
  34747. // The ID of the VPC with which you are creating the VPC peering connection.
  34748. // You must specify this parameter in the request.
  34749. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  34750. // The ID of the requester VPC. You must specify this parameter in the request.
  34751. VpcId *string `locationName:"vpcId" type:"string"`
  34752. }
  34753. // String returns the string representation
  34754. func (s CreateVpcPeeringConnectionInput) String() string {
  34755. return awsutil.Prettify(s)
  34756. }
  34757. // GoString returns the string representation
  34758. func (s CreateVpcPeeringConnectionInput) GoString() string {
  34759. return s.String()
  34760. }
  34761. // SetDryRun sets the DryRun field's value.
  34762. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  34763. s.DryRun = &v
  34764. return s
  34765. }
  34766. // SetPeerOwnerId sets the PeerOwnerId field's value.
  34767. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  34768. s.PeerOwnerId = &v
  34769. return s
  34770. }
  34771. // SetPeerRegion sets the PeerRegion field's value.
  34772. func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
  34773. s.PeerRegion = &v
  34774. return s
  34775. }
  34776. // SetPeerVpcId sets the PeerVpcId field's value.
  34777. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  34778. s.PeerVpcId = &v
  34779. return s
  34780. }
  34781. // SetVpcId sets the VpcId field's value.
  34782. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  34783. s.VpcId = &v
  34784. return s
  34785. }
  34786. type CreateVpcPeeringConnectionOutput struct {
  34787. _ struct{} `type:"structure"`
  34788. // Information about the VPC peering connection.
  34789. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  34790. }
  34791. // String returns the string representation
  34792. func (s CreateVpcPeeringConnectionOutput) String() string {
  34793. return awsutil.Prettify(s)
  34794. }
  34795. // GoString returns the string representation
  34796. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  34797. return s.String()
  34798. }
  34799. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  34800. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  34801. s.VpcPeeringConnection = v
  34802. return s
  34803. }
  34804. // Contains the parameters for CreateVpnConnection.
  34805. type CreateVpnConnectionInput struct {
  34806. _ struct{} `type:"structure"`
  34807. // The ID of the customer gateway.
  34808. //
  34809. // CustomerGatewayId is a required field
  34810. CustomerGatewayId *string `type:"string" required:"true"`
  34811. // Checks whether you have the required permissions for the action, without
  34812. // actually making the request, and provides an error response. If you have
  34813. // the required permissions, the error response is DryRunOperation. Otherwise,
  34814. // it is UnauthorizedOperation.
  34815. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34816. // The options for the VPN connection.
  34817. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  34818. // The ID of the transit gateway. If you specify a transit gateway, you cannot
  34819. // specify a virtual private gateway.
  34820. TransitGatewayId *string `type:"string"`
  34821. // The type of VPN connection (ipsec.1).
  34822. //
  34823. // Type is a required field
  34824. Type *string `type:"string" required:"true"`
  34825. // The ID of the virtual private gateway. If you specify a virtual private gateway,
  34826. // you cannot specify a transit gateway.
  34827. VpnGatewayId *string `type:"string"`
  34828. }
  34829. // String returns the string representation
  34830. func (s CreateVpnConnectionInput) String() string {
  34831. return awsutil.Prettify(s)
  34832. }
  34833. // GoString returns the string representation
  34834. func (s CreateVpnConnectionInput) GoString() string {
  34835. return s.String()
  34836. }
  34837. // Validate inspects the fields of the type to determine if they are valid.
  34838. func (s *CreateVpnConnectionInput) Validate() error {
  34839. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  34840. if s.CustomerGatewayId == nil {
  34841. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  34842. }
  34843. if s.Type == nil {
  34844. invalidParams.Add(request.NewErrParamRequired("Type"))
  34845. }
  34846. if invalidParams.Len() > 0 {
  34847. return invalidParams
  34848. }
  34849. return nil
  34850. }
  34851. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  34852. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  34853. s.CustomerGatewayId = &v
  34854. return s
  34855. }
  34856. // SetDryRun sets the DryRun field's value.
  34857. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  34858. s.DryRun = &v
  34859. return s
  34860. }
  34861. // SetOptions sets the Options field's value.
  34862. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  34863. s.Options = v
  34864. return s
  34865. }
  34866. // SetTransitGatewayId sets the TransitGatewayId field's value.
  34867. func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
  34868. s.TransitGatewayId = &v
  34869. return s
  34870. }
  34871. // SetType sets the Type field's value.
  34872. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  34873. s.Type = &v
  34874. return s
  34875. }
  34876. // SetVpnGatewayId sets the VpnGatewayId field's value.
  34877. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  34878. s.VpnGatewayId = &v
  34879. return s
  34880. }
  34881. // Contains the output of CreateVpnConnection.
  34882. type CreateVpnConnectionOutput struct {
  34883. _ struct{} `type:"structure"`
  34884. // Information about the VPN connection.
  34885. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  34886. }
  34887. // String returns the string representation
  34888. func (s CreateVpnConnectionOutput) String() string {
  34889. return awsutil.Prettify(s)
  34890. }
  34891. // GoString returns the string representation
  34892. func (s CreateVpnConnectionOutput) GoString() string {
  34893. return s.String()
  34894. }
  34895. // SetVpnConnection sets the VpnConnection field's value.
  34896. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  34897. s.VpnConnection = v
  34898. return s
  34899. }
  34900. // Contains the parameters for CreateVpnConnectionRoute.
  34901. type CreateVpnConnectionRouteInput struct {
  34902. _ struct{} `type:"structure"`
  34903. // The CIDR block associated with the local subnet of the customer network.
  34904. //
  34905. // DestinationCidrBlock is a required field
  34906. DestinationCidrBlock *string `type:"string" required:"true"`
  34907. // The ID of the VPN connection.
  34908. //
  34909. // VpnConnectionId is a required field
  34910. VpnConnectionId *string `type:"string" required:"true"`
  34911. }
  34912. // String returns the string representation
  34913. func (s CreateVpnConnectionRouteInput) String() string {
  34914. return awsutil.Prettify(s)
  34915. }
  34916. // GoString returns the string representation
  34917. func (s CreateVpnConnectionRouteInput) GoString() string {
  34918. return s.String()
  34919. }
  34920. // Validate inspects the fields of the type to determine if they are valid.
  34921. func (s *CreateVpnConnectionRouteInput) Validate() error {
  34922. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  34923. if s.DestinationCidrBlock == nil {
  34924. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  34925. }
  34926. if s.VpnConnectionId == nil {
  34927. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  34928. }
  34929. if invalidParams.Len() > 0 {
  34930. return invalidParams
  34931. }
  34932. return nil
  34933. }
  34934. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  34935. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  34936. s.DestinationCidrBlock = &v
  34937. return s
  34938. }
  34939. // SetVpnConnectionId sets the VpnConnectionId field's value.
  34940. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  34941. s.VpnConnectionId = &v
  34942. return s
  34943. }
  34944. type CreateVpnConnectionRouteOutput struct {
  34945. _ struct{} `type:"structure"`
  34946. }
  34947. // String returns the string representation
  34948. func (s CreateVpnConnectionRouteOutput) String() string {
  34949. return awsutil.Prettify(s)
  34950. }
  34951. // GoString returns the string representation
  34952. func (s CreateVpnConnectionRouteOutput) GoString() string {
  34953. return s.String()
  34954. }
  34955. // Contains the parameters for CreateVpnGateway.
  34956. type CreateVpnGatewayInput struct {
  34957. _ struct{} `type:"structure"`
  34958. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  34959. // If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
  34960. // you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
  34961. //
  34962. // Default: 64512
  34963. AmazonSideAsn *int64 `type:"long"`
  34964. // The Availability Zone for the virtual private gateway.
  34965. AvailabilityZone *string `type:"string"`
  34966. // Checks whether you have the required permissions for the action, without
  34967. // actually making the request, and provides an error response. If you have
  34968. // the required permissions, the error response is DryRunOperation. Otherwise,
  34969. // it is UnauthorizedOperation.
  34970. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34971. // The type of VPN connection this virtual private gateway supports.
  34972. //
  34973. // Type is a required field
  34974. Type *string `type:"string" required:"true" enum:"GatewayType"`
  34975. }
  34976. // String returns the string representation
  34977. func (s CreateVpnGatewayInput) String() string {
  34978. return awsutil.Prettify(s)
  34979. }
  34980. // GoString returns the string representation
  34981. func (s CreateVpnGatewayInput) GoString() string {
  34982. return s.String()
  34983. }
  34984. // Validate inspects the fields of the type to determine if they are valid.
  34985. func (s *CreateVpnGatewayInput) Validate() error {
  34986. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  34987. if s.Type == nil {
  34988. invalidParams.Add(request.NewErrParamRequired("Type"))
  34989. }
  34990. if invalidParams.Len() > 0 {
  34991. return invalidParams
  34992. }
  34993. return nil
  34994. }
  34995. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  34996. func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
  34997. s.AmazonSideAsn = &v
  34998. return s
  34999. }
  35000. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35001. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  35002. s.AvailabilityZone = &v
  35003. return s
  35004. }
  35005. // SetDryRun sets the DryRun field's value.
  35006. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  35007. s.DryRun = &v
  35008. return s
  35009. }
  35010. // SetType sets the Type field's value.
  35011. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  35012. s.Type = &v
  35013. return s
  35014. }
  35015. // Contains the output of CreateVpnGateway.
  35016. type CreateVpnGatewayOutput struct {
  35017. _ struct{} `type:"structure"`
  35018. // Information about the virtual private gateway.
  35019. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  35020. }
  35021. // String returns the string representation
  35022. func (s CreateVpnGatewayOutput) String() string {
  35023. return awsutil.Prettify(s)
  35024. }
  35025. // GoString returns the string representation
  35026. func (s CreateVpnGatewayOutput) GoString() string {
  35027. return s.String()
  35028. }
  35029. // SetVpnGateway sets the VpnGateway field's value.
  35030. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  35031. s.VpnGateway = v
  35032. return s
  35033. }
  35034. // Describes the credit option for CPU usage of a T2 or T3 instance.
  35035. type CreditSpecification struct {
  35036. _ struct{} `type:"structure"`
  35037. // The credit option for CPU usage of a T2 or T3 instance. Valid values are
  35038. // standard and unlimited.
  35039. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  35040. }
  35041. // String returns the string representation
  35042. func (s CreditSpecification) String() string {
  35043. return awsutil.Prettify(s)
  35044. }
  35045. // GoString returns the string representation
  35046. func (s CreditSpecification) GoString() string {
  35047. return s.String()
  35048. }
  35049. // SetCpuCredits sets the CpuCredits field's value.
  35050. func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
  35051. s.CpuCredits = &v
  35052. return s
  35053. }
  35054. // The credit option for CPU usage of a T2 or T3 instance.
  35055. type CreditSpecificationRequest struct {
  35056. _ struct{} `type:"structure"`
  35057. // The credit option for CPU usage of a T2 or T3 instance. Valid values are
  35058. // standard and unlimited.
  35059. //
  35060. // CpuCredits is a required field
  35061. CpuCredits *string `type:"string" required:"true"`
  35062. }
  35063. // String returns the string representation
  35064. func (s CreditSpecificationRequest) String() string {
  35065. return awsutil.Prettify(s)
  35066. }
  35067. // GoString returns the string representation
  35068. func (s CreditSpecificationRequest) GoString() string {
  35069. return s.String()
  35070. }
  35071. // Validate inspects the fields of the type to determine if they are valid.
  35072. func (s *CreditSpecificationRequest) Validate() error {
  35073. invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
  35074. if s.CpuCredits == nil {
  35075. invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
  35076. }
  35077. if invalidParams.Len() > 0 {
  35078. return invalidParams
  35079. }
  35080. return nil
  35081. }
  35082. // SetCpuCredits sets the CpuCredits field's value.
  35083. func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
  35084. s.CpuCredits = &v
  35085. return s
  35086. }
  35087. // Describes a customer gateway.
  35088. type CustomerGateway struct {
  35089. _ struct{} `type:"structure"`
  35090. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  35091. // (ASN).
  35092. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  35093. // The ID of the customer gateway.
  35094. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  35095. // The Internet-routable IP address of the customer gateway's outside interface.
  35096. IpAddress *string `locationName:"ipAddress" type:"string"`
  35097. // The current state of the customer gateway (pending | available | deleting
  35098. // | deleted).
  35099. State *string `locationName:"state" type:"string"`
  35100. // Any tags assigned to the customer gateway.
  35101. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  35102. // The type of VPN connection the customer gateway supports (ipsec.1).
  35103. Type *string `locationName:"type" type:"string"`
  35104. }
  35105. // String returns the string representation
  35106. func (s CustomerGateway) String() string {
  35107. return awsutil.Prettify(s)
  35108. }
  35109. // GoString returns the string representation
  35110. func (s CustomerGateway) GoString() string {
  35111. return s.String()
  35112. }
  35113. // SetBgpAsn sets the BgpAsn field's value.
  35114. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  35115. s.BgpAsn = &v
  35116. return s
  35117. }
  35118. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  35119. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  35120. s.CustomerGatewayId = &v
  35121. return s
  35122. }
  35123. // SetIpAddress sets the IpAddress field's value.
  35124. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  35125. s.IpAddress = &v
  35126. return s
  35127. }
  35128. // SetState sets the State field's value.
  35129. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  35130. s.State = &v
  35131. return s
  35132. }
  35133. // SetTags sets the Tags field's value.
  35134. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  35135. s.Tags = v
  35136. return s
  35137. }
  35138. // SetType sets the Type field's value.
  35139. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  35140. s.Type = &v
  35141. return s
  35142. }
  35143. type DeleteClientVpnEndpointInput struct {
  35144. _ struct{} `type:"structure"`
  35145. // The ID of the Client VPN to be deleted.
  35146. //
  35147. // ClientVpnEndpointId is a required field
  35148. ClientVpnEndpointId *string `type:"string" required:"true"`
  35149. // Checks whether you have the required permissions for the action, without
  35150. // actually making the request, and provides an error response. If you have
  35151. // the required permissions, the error response is DryRunOperation. Otherwise,
  35152. // it is UnauthorizedOperation.
  35153. DryRun *bool `type:"boolean"`
  35154. }
  35155. // String returns the string representation
  35156. func (s DeleteClientVpnEndpointInput) String() string {
  35157. return awsutil.Prettify(s)
  35158. }
  35159. // GoString returns the string representation
  35160. func (s DeleteClientVpnEndpointInput) GoString() string {
  35161. return s.String()
  35162. }
  35163. // Validate inspects the fields of the type to determine if they are valid.
  35164. func (s *DeleteClientVpnEndpointInput) Validate() error {
  35165. invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
  35166. if s.ClientVpnEndpointId == nil {
  35167. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  35168. }
  35169. if invalidParams.Len() > 0 {
  35170. return invalidParams
  35171. }
  35172. return nil
  35173. }
  35174. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  35175. func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
  35176. s.ClientVpnEndpointId = &v
  35177. return s
  35178. }
  35179. // SetDryRun sets the DryRun field's value.
  35180. func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
  35181. s.DryRun = &v
  35182. return s
  35183. }
  35184. type DeleteClientVpnEndpointOutput struct {
  35185. _ struct{} `type:"structure"`
  35186. // The current state of the Client VPN endpoint.
  35187. Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
  35188. }
  35189. // String returns the string representation
  35190. func (s DeleteClientVpnEndpointOutput) String() string {
  35191. return awsutil.Prettify(s)
  35192. }
  35193. // GoString returns the string representation
  35194. func (s DeleteClientVpnEndpointOutput) GoString() string {
  35195. return s.String()
  35196. }
  35197. // SetStatus sets the Status field's value.
  35198. func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
  35199. s.Status = v
  35200. return s
  35201. }
  35202. type DeleteClientVpnRouteInput struct {
  35203. _ struct{} `type:"structure"`
  35204. // The ID of the Client VPN endpoint from which the route is to be deleted.
  35205. //
  35206. // ClientVpnEndpointId is a required field
  35207. ClientVpnEndpointId *string `type:"string" required:"true"`
  35208. // The IPv4 address range, in CIDR notation, of the route to be deleted.
  35209. //
  35210. // DestinationCidrBlock is a required field
  35211. DestinationCidrBlock *string `type:"string" required:"true"`
  35212. // Checks whether you have the required permissions for the action, without
  35213. // actually making the request, and provides an error response. If you have
  35214. // the required permissions, the error response is DryRunOperation. Otherwise,
  35215. // it is UnauthorizedOperation.
  35216. DryRun *bool `type:"boolean"`
  35217. // The ID of the target subnet used by the route.
  35218. TargetVpcSubnetId *string `type:"string"`
  35219. }
  35220. // String returns the string representation
  35221. func (s DeleteClientVpnRouteInput) String() string {
  35222. return awsutil.Prettify(s)
  35223. }
  35224. // GoString returns the string representation
  35225. func (s DeleteClientVpnRouteInput) GoString() string {
  35226. return s.String()
  35227. }
  35228. // Validate inspects the fields of the type to determine if they are valid.
  35229. func (s *DeleteClientVpnRouteInput) Validate() error {
  35230. invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
  35231. if s.ClientVpnEndpointId == nil {
  35232. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  35233. }
  35234. if s.DestinationCidrBlock == nil {
  35235. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  35236. }
  35237. if invalidParams.Len() > 0 {
  35238. return invalidParams
  35239. }
  35240. return nil
  35241. }
  35242. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  35243. func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
  35244. s.ClientVpnEndpointId = &v
  35245. return s
  35246. }
  35247. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  35248. func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
  35249. s.DestinationCidrBlock = &v
  35250. return s
  35251. }
  35252. // SetDryRun sets the DryRun field's value.
  35253. func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
  35254. s.DryRun = &v
  35255. return s
  35256. }
  35257. // SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
  35258. func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
  35259. s.TargetVpcSubnetId = &v
  35260. return s
  35261. }
  35262. type DeleteClientVpnRouteOutput struct {
  35263. _ struct{} `type:"structure"`
  35264. // The current state of the route.
  35265. Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
  35266. }
  35267. // String returns the string representation
  35268. func (s DeleteClientVpnRouteOutput) String() string {
  35269. return awsutil.Prettify(s)
  35270. }
  35271. // GoString returns the string representation
  35272. func (s DeleteClientVpnRouteOutput) GoString() string {
  35273. return s.String()
  35274. }
  35275. // SetStatus sets the Status field's value.
  35276. func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
  35277. s.Status = v
  35278. return s
  35279. }
  35280. // Contains the parameters for DeleteCustomerGateway.
  35281. type DeleteCustomerGatewayInput struct {
  35282. _ struct{} `type:"structure"`
  35283. // The ID of the customer gateway.
  35284. //
  35285. // CustomerGatewayId is a required field
  35286. CustomerGatewayId *string `type:"string" required:"true"`
  35287. // Checks whether you have the required permissions for the action, without
  35288. // actually making the request, and provides an error response. If you have
  35289. // the required permissions, the error response is DryRunOperation. Otherwise,
  35290. // it is UnauthorizedOperation.
  35291. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35292. }
  35293. // String returns the string representation
  35294. func (s DeleteCustomerGatewayInput) String() string {
  35295. return awsutil.Prettify(s)
  35296. }
  35297. // GoString returns the string representation
  35298. func (s DeleteCustomerGatewayInput) GoString() string {
  35299. return s.String()
  35300. }
  35301. // Validate inspects the fields of the type to determine if they are valid.
  35302. func (s *DeleteCustomerGatewayInput) Validate() error {
  35303. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  35304. if s.CustomerGatewayId == nil {
  35305. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  35306. }
  35307. if invalidParams.Len() > 0 {
  35308. return invalidParams
  35309. }
  35310. return nil
  35311. }
  35312. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  35313. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  35314. s.CustomerGatewayId = &v
  35315. return s
  35316. }
  35317. // SetDryRun sets the DryRun field's value.
  35318. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  35319. s.DryRun = &v
  35320. return s
  35321. }
  35322. type DeleteCustomerGatewayOutput struct {
  35323. _ struct{} `type:"structure"`
  35324. }
  35325. // String returns the string representation
  35326. func (s DeleteCustomerGatewayOutput) String() string {
  35327. return awsutil.Prettify(s)
  35328. }
  35329. // GoString returns the string representation
  35330. func (s DeleteCustomerGatewayOutput) GoString() string {
  35331. return s.String()
  35332. }
  35333. type DeleteDhcpOptionsInput struct {
  35334. _ struct{} `type:"structure"`
  35335. // The ID of the DHCP options set.
  35336. //
  35337. // DhcpOptionsId is a required field
  35338. DhcpOptionsId *string `type:"string" required:"true"`
  35339. // Checks whether you have the required permissions for the action, without
  35340. // actually making the request, and provides an error response. If you have
  35341. // the required permissions, the error response is DryRunOperation. Otherwise,
  35342. // it is UnauthorizedOperation.
  35343. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35344. }
  35345. // String returns the string representation
  35346. func (s DeleteDhcpOptionsInput) String() string {
  35347. return awsutil.Prettify(s)
  35348. }
  35349. // GoString returns the string representation
  35350. func (s DeleteDhcpOptionsInput) GoString() string {
  35351. return s.String()
  35352. }
  35353. // Validate inspects the fields of the type to determine if they are valid.
  35354. func (s *DeleteDhcpOptionsInput) Validate() error {
  35355. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  35356. if s.DhcpOptionsId == nil {
  35357. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  35358. }
  35359. if invalidParams.Len() > 0 {
  35360. return invalidParams
  35361. }
  35362. return nil
  35363. }
  35364. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  35365. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  35366. s.DhcpOptionsId = &v
  35367. return s
  35368. }
  35369. // SetDryRun sets the DryRun field's value.
  35370. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  35371. s.DryRun = &v
  35372. return s
  35373. }
  35374. type DeleteDhcpOptionsOutput struct {
  35375. _ struct{} `type:"structure"`
  35376. }
  35377. // String returns the string representation
  35378. func (s DeleteDhcpOptionsOutput) String() string {
  35379. return awsutil.Prettify(s)
  35380. }
  35381. // GoString returns the string representation
  35382. func (s DeleteDhcpOptionsOutput) GoString() string {
  35383. return s.String()
  35384. }
  35385. type DeleteEgressOnlyInternetGatewayInput struct {
  35386. _ struct{} `type:"structure"`
  35387. // Checks whether you have the required permissions for the action, without
  35388. // actually making the request, and provides an error response. If you have
  35389. // the required permissions, the error response is DryRunOperation. Otherwise,
  35390. // it is UnauthorizedOperation.
  35391. DryRun *bool `type:"boolean"`
  35392. // The ID of the egress-only internet gateway.
  35393. //
  35394. // EgressOnlyInternetGatewayId is a required field
  35395. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  35396. }
  35397. // String returns the string representation
  35398. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  35399. return awsutil.Prettify(s)
  35400. }
  35401. // GoString returns the string representation
  35402. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  35403. return s.String()
  35404. }
  35405. // Validate inspects the fields of the type to determine if they are valid.
  35406. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  35407. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  35408. if s.EgressOnlyInternetGatewayId == nil {
  35409. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  35410. }
  35411. if invalidParams.Len() > 0 {
  35412. return invalidParams
  35413. }
  35414. return nil
  35415. }
  35416. // SetDryRun sets the DryRun field's value.
  35417. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  35418. s.DryRun = &v
  35419. return s
  35420. }
  35421. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  35422. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  35423. s.EgressOnlyInternetGatewayId = &v
  35424. return s
  35425. }
  35426. type DeleteEgressOnlyInternetGatewayOutput struct {
  35427. _ struct{} `type:"structure"`
  35428. // Returns true if the request succeeds; otherwise, it returns an error.
  35429. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  35430. }
  35431. // String returns the string representation
  35432. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  35433. return awsutil.Prettify(s)
  35434. }
  35435. // GoString returns the string representation
  35436. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  35437. return s.String()
  35438. }
  35439. // SetReturnCode sets the ReturnCode field's value.
  35440. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  35441. s.ReturnCode = &v
  35442. return s
  35443. }
  35444. // Describes an EC2 Fleet error.
  35445. type DeleteFleetError struct {
  35446. _ struct{} `type:"structure"`
  35447. // The error code.
  35448. Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
  35449. // The description for the error code.
  35450. Message *string `locationName:"message" type:"string"`
  35451. }
  35452. // String returns the string representation
  35453. func (s DeleteFleetError) String() string {
  35454. return awsutil.Prettify(s)
  35455. }
  35456. // GoString returns the string representation
  35457. func (s DeleteFleetError) GoString() string {
  35458. return s.String()
  35459. }
  35460. // SetCode sets the Code field's value.
  35461. func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
  35462. s.Code = &v
  35463. return s
  35464. }
  35465. // SetMessage sets the Message field's value.
  35466. func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
  35467. s.Message = &v
  35468. return s
  35469. }
  35470. // Describes an EC2 Fleet that was not successfully deleted.
  35471. type DeleteFleetErrorItem struct {
  35472. _ struct{} `type:"structure"`
  35473. // The error.
  35474. Error *DeleteFleetError `locationName:"error" type:"structure"`
  35475. // The ID of the EC2 Fleet.
  35476. FleetId *string `locationName:"fleetId" type:"string"`
  35477. }
  35478. // String returns the string representation
  35479. func (s DeleteFleetErrorItem) String() string {
  35480. return awsutil.Prettify(s)
  35481. }
  35482. // GoString returns the string representation
  35483. func (s DeleteFleetErrorItem) GoString() string {
  35484. return s.String()
  35485. }
  35486. // SetError sets the Error field's value.
  35487. func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
  35488. s.Error = v
  35489. return s
  35490. }
  35491. // SetFleetId sets the FleetId field's value.
  35492. func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
  35493. s.FleetId = &v
  35494. return s
  35495. }
  35496. // Describes an EC2 Fleet that was successfully deleted.
  35497. type DeleteFleetSuccessItem struct {
  35498. _ struct{} `type:"structure"`
  35499. // The current state of the EC2 Fleet.
  35500. CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
  35501. // The ID of the EC2 Fleet.
  35502. FleetId *string `locationName:"fleetId" type:"string"`
  35503. // The previous state of the EC2 Fleet.
  35504. PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
  35505. }
  35506. // String returns the string representation
  35507. func (s DeleteFleetSuccessItem) String() string {
  35508. return awsutil.Prettify(s)
  35509. }
  35510. // GoString returns the string representation
  35511. func (s DeleteFleetSuccessItem) GoString() string {
  35512. return s.String()
  35513. }
  35514. // SetCurrentFleetState sets the CurrentFleetState field's value.
  35515. func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
  35516. s.CurrentFleetState = &v
  35517. return s
  35518. }
  35519. // SetFleetId sets the FleetId field's value.
  35520. func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
  35521. s.FleetId = &v
  35522. return s
  35523. }
  35524. // SetPreviousFleetState sets the PreviousFleetState field's value.
  35525. func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
  35526. s.PreviousFleetState = &v
  35527. return s
  35528. }
  35529. type DeleteFleetsInput struct {
  35530. _ struct{} `type:"structure"`
  35531. // Checks whether you have the required permissions for the action, without
  35532. // actually making the request, and provides an error response. If you have
  35533. // the required permissions, the error response is DryRunOperation. Otherwise,
  35534. // it is UnauthorizedOperation.
  35535. DryRun *bool `type:"boolean"`
  35536. // The IDs of the EC2 Fleets.
  35537. //
  35538. // FleetIds is a required field
  35539. FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
  35540. // Indicates whether to terminate instances for an EC2 Fleet if it is deleted
  35541. // successfully.
  35542. //
  35543. // TerminateInstances is a required field
  35544. TerminateInstances *bool `type:"boolean" required:"true"`
  35545. }
  35546. // String returns the string representation
  35547. func (s DeleteFleetsInput) String() string {
  35548. return awsutil.Prettify(s)
  35549. }
  35550. // GoString returns the string representation
  35551. func (s DeleteFleetsInput) GoString() string {
  35552. return s.String()
  35553. }
  35554. // Validate inspects the fields of the type to determine if they are valid.
  35555. func (s *DeleteFleetsInput) Validate() error {
  35556. invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
  35557. if s.FleetIds == nil {
  35558. invalidParams.Add(request.NewErrParamRequired("FleetIds"))
  35559. }
  35560. if s.TerminateInstances == nil {
  35561. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  35562. }
  35563. if invalidParams.Len() > 0 {
  35564. return invalidParams
  35565. }
  35566. return nil
  35567. }
  35568. // SetDryRun sets the DryRun field's value.
  35569. func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
  35570. s.DryRun = &v
  35571. return s
  35572. }
  35573. // SetFleetIds sets the FleetIds field's value.
  35574. func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
  35575. s.FleetIds = v
  35576. return s
  35577. }
  35578. // SetTerminateInstances sets the TerminateInstances field's value.
  35579. func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
  35580. s.TerminateInstances = &v
  35581. return s
  35582. }
  35583. type DeleteFleetsOutput struct {
  35584. _ struct{} `type:"structure"`
  35585. // Information about the EC2 Fleets that are successfully deleted.
  35586. SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
  35587. // Information about the EC2 Fleets that are not successfully deleted.
  35588. UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
  35589. }
  35590. // String returns the string representation
  35591. func (s DeleteFleetsOutput) String() string {
  35592. return awsutil.Prettify(s)
  35593. }
  35594. // GoString returns the string representation
  35595. func (s DeleteFleetsOutput) GoString() string {
  35596. return s.String()
  35597. }
  35598. // SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
  35599. func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
  35600. s.SuccessfulFleetDeletions = v
  35601. return s
  35602. }
  35603. // SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
  35604. func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
  35605. s.UnsuccessfulFleetDeletions = v
  35606. return s
  35607. }
  35608. type DeleteFlowLogsInput struct {
  35609. _ struct{} `type:"structure"`
  35610. // Checks whether you have the required permissions for the action, without
  35611. // actually making the request, and provides an error response. If you have
  35612. // the required permissions, the error response is DryRunOperation. Otherwise,
  35613. // it is UnauthorizedOperation.
  35614. DryRun *bool `type:"boolean"`
  35615. // One or more flow log IDs.
  35616. //
  35617. // FlowLogIds is a required field
  35618. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  35619. }
  35620. // String returns the string representation
  35621. func (s DeleteFlowLogsInput) String() string {
  35622. return awsutil.Prettify(s)
  35623. }
  35624. // GoString returns the string representation
  35625. func (s DeleteFlowLogsInput) GoString() string {
  35626. return s.String()
  35627. }
  35628. // Validate inspects the fields of the type to determine if they are valid.
  35629. func (s *DeleteFlowLogsInput) Validate() error {
  35630. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  35631. if s.FlowLogIds == nil {
  35632. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  35633. }
  35634. if invalidParams.Len() > 0 {
  35635. return invalidParams
  35636. }
  35637. return nil
  35638. }
  35639. // SetDryRun sets the DryRun field's value.
  35640. func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
  35641. s.DryRun = &v
  35642. return s
  35643. }
  35644. // SetFlowLogIds sets the FlowLogIds field's value.
  35645. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  35646. s.FlowLogIds = v
  35647. return s
  35648. }
  35649. type DeleteFlowLogsOutput struct {
  35650. _ struct{} `type:"structure"`
  35651. // Information about the flow logs that could not be deleted successfully.
  35652. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  35653. }
  35654. // String returns the string representation
  35655. func (s DeleteFlowLogsOutput) String() string {
  35656. return awsutil.Prettify(s)
  35657. }
  35658. // GoString returns the string representation
  35659. func (s DeleteFlowLogsOutput) GoString() string {
  35660. return s.String()
  35661. }
  35662. // SetUnsuccessful sets the Unsuccessful field's value.
  35663. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  35664. s.Unsuccessful = v
  35665. return s
  35666. }
  35667. type DeleteFpgaImageInput struct {
  35668. _ struct{} `type:"structure"`
  35669. // Checks whether you have the required permissions for the action, without
  35670. // actually making the request, and provides an error response. If you have
  35671. // the required permissions, the error response is DryRunOperation. Otherwise,
  35672. // it is UnauthorizedOperation.
  35673. DryRun *bool `type:"boolean"`
  35674. // The ID of the AFI.
  35675. //
  35676. // FpgaImageId is a required field
  35677. FpgaImageId *string `type:"string" required:"true"`
  35678. }
  35679. // String returns the string representation
  35680. func (s DeleteFpgaImageInput) String() string {
  35681. return awsutil.Prettify(s)
  35682. }
  35683. // GoString returns the string representation
  35684. func (s DeleteFpgaImageInput) GoString() string {
  35685. return s.String()
  35686. }
  35687. // Validate inspects the fields of the type to determine if they are valid.
  35688. func (s *DeleteFpgaImageInput) Validate() error {
  35689. invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
  35690. if s.FpgaImageId == nil {
  35691. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  35692. }
  35693. if invalidParams.Len() > 0 {
  35694. return invalidParams
  35695. }
  35696. return nil
  35697. }
  35698. // SetDryRun sets the DryRun field's value.
  35699. func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
  35700. s.DryRun = &v
  35701. return s
  35702. }
  35703. // SetFpgaImageId sets the FpgaImageId field's value.
  35704. func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
  35705. s.FpgaImageId = &v
  35706. return s
  35707. }
  35708. type DeleteFpgaImageOutput struct {
  35709. _ struct{} `type:"structure"`
  35710. // Is true if the request succeeds, and an error otherwise.
  35711. Return *bool `locationName:"return" type:"boolean"`
  35712. }
  35713. // String returns the string representation
  35714. func (s DeleteFpgaImageOutput) String() string {
  35715. return awsutil.Prettify(s)
  35716. }
  35717. // GoString returns the string representation
  35718. func (s DeleteFpgaImageOutput) GoString() string {
  35719. return s.String()
  35720. }
  35721. // SetReturn sets the Return field's value.
  35722. func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
  35723. s.Return = &v
  35724. return s
  35725. }
  35726. type DeleteInternetGatewayInput struct {
  35727. _ struct{} `type:"structure"`
  35728. // Checks whether you have the required permissions for the action, without
  35729. // actually making the request, and provides an error response. If you have
  35730. // the required permissions, the error response is DryRunOperation. Otherwise,
  35731. // it is UnauthorizedOperation.
  35732. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35733. // The ID of the internet gateway.
  35734. //
  35735. // InternetGatewayId is a required field
  35736. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  35737. }
  35738. // String returns the string representation
  35739. func (s DeleteInternetGatewayInput) String() string {
  35740. return awsutil.Prettify(s)
  35741. }
  35742. // GoString returns the string representation
  35743. func (s DeleteInternetGatewayInput) GoString() string {
  35744. return s.String()
  35745. }
  35746. // Validate inspects the fields of the type to determine if they are valid.
  35747. func (s *DeleteInternetGatewayInput) Validate() error {
  35748. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  35749. if s.InternetGatewayId == nil {
  35750. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  35751. }
  35752. if invalidParams.Len() > 0 {
  35753. return invalidParams
  35754. }
  35755. return nil
  35756. }
  35757. // SetDryRun sets the DryRun field's value.
  35758. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  35759. s.DryRun = &v
  35760. return s
  35761. }
  35762. // SetInternetGatewayId sets the InternetGatewayId field's value.
  35763. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  35764. s.InternetGatewayId = &v
  35765. return s
  35766. }
  35767. type DeleteInternetGatewayOutput struct {
  35768. _ struct{} `type:"structure"`
  35769. }
  35770. // String returns the string representation
  35771. func (s DeleteInternetGatewayOutput) String() string {
  35772. return awsutil.Prettify(s)
  35773. }
  35774. // GoString returns the string representation
  35775. func (s DeleteInternetGatewayOutput) GoString() string {
  35776. return s.String()
  35777. }
  35778. type DeleteKeyPairInput struct {
  35779. _ struct{} `type:"structure"`
  35780. // Checks whether you have the required permissions for the action, without
  35781. // actually making the request, and provides an error response. If you have
  35782. // the required permissions, the error response is DryRunOperation. Otherwise,
  35783. // it is UnauthorizedOperation.
  35784. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35785. // The name of the key pair.
  35786. //
  35787. // KeyName is a required field
  35788. KeyName *string `type:"string" required:"true"`
  35789. }
  35790. // String returns the string representation
  35791. func (s DeleteKeyPairInput) String() string {
  35792. return awsutil.Prettify(s)
  35793. }
  35794. // GoString returns the string representation
  35795. func (s DeleteKeyPairInput) GoString() string {
  35796. return s.String()
  35797. }
  35798. // Validate inspects the fields of the type to determine if they are valid.
  35799. func (s *DeleteKeyPairInput) Validate() error {
  35800. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  35801. if s.KeyName == nil {
  35802. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  35803. }
  35804. if invalidParams.Len() > 0 {
  35805. return invalidParams
  35806. }
  35807. return nil
  35808. }
  35809. // SetDryRun sets the DryRun field's value.
  35810. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  35811. s.DryRun = &v
  35812. return s
  35813. }
  35814. // SetKeyName sets the KeyName field's value.
  35815. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  35816. s.KeyName = &v
  35817. return s
  35818. }
  35819. type DeleteKeyPairOutput struct {
  35820. _ struct{} `type:"structure"`
  35821. }
  35822. // String returns the string representation
  35823. func (s DeleteKeyPairOutput) String() string {
  35824. return awsutil.Prettify(s)
  35825. }
  35826. // GoString returns the string representation
  35827. func (s DeleteKeyPairOutput) GoString() string {
  35828. return s.String()
  35829. }
  35830. type DeleteLaunchTemplateInput struct {
  35831. _ struct{} `type:"structure"`
  35832. // Checks whether you have the required permissions for the action, without
  35833. // actually making the request, and provides an error response. If you have
  35834. // the required permissions, the error response is DryRunOperation. Otherwise,
  35835. // it is UnauthorizedOperation.
  35836. DryRun *bool `type:"boolean"`
  35837. // The ID of the launch template. You must specify either the launch template
  35838. // ID or launch template name in the request.
  35839. LaunchTemplateId *string `type:"string"`
  35840. // The name of the launch template. You must specify either the launch template
  35841. // ID or launch template name in the request.
  35842. LaunchTemplateName *string `min:"3" type:"string"`
  35843. }
  35844. // String returns the string representation
  35845. func (s DeleteLaunchTemplateInput) String() string {
  35846. return awsutil.Prettify(s)
  35847. }
  35848. // GoString returns the string representation
  35849. func (s DeleteLaunchTemplateInput) GoString() string {
  35850. return s.String()
  35851. }
  35852. // Validate inspects the fields of the type to determine if they are valid.
  35853. func (s *DeleteLaunchTemplateInput) Validate() error {
  35854. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
  35855. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  35856. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  35857. }
  35858. if invalidParams.Len() > 0 {
  35859. return invalidParams
  35860. }
  35861. return nil
  35862. }
  35863. // SetDryRun sets the DryRun field's value.
  35864. func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
  35865. s.DryRun = &v
  35866. return s
  35867. }
  35868. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  35869. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
  35870. s.LaunchTemplateId = &v
  35871. return s
  35872. }
  35873. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  35874. func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
  35875. s.LaunchTemplateName = &v
  35876. return s
  35877. }
  35878. type DeleteLaunchTemplateOutput struct {
  35879. _ struct{} `type:"structure"`
  35880. // Information about the launch template.
  35881. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  35882. }
  35883. // String returns the string representation
  35884. func (s DeleteLaunchTemplateOutput) String() string {
  35885. return awsutil.Prettify(s)
  35886. }
  35887. // GoString returns the string representation
  35888. func (s DeleteLaunchTemplateOutput) GoString() string {
  35889. return s.String()
  35890. }
  35891. // SetLaunchTemplate sets the LaunchTemplate field's value.
  35892. func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
  35893. s.LaunchTemplate = v
  35894. return s
  35895. }
  35896. type DeleteLaunchTemplateVersionsInput struct {
  35897. _ struct{} `type:"structure"`
  35898. // Checks whether you have the required permissions for the action, without
  35899. // actually making the request, and provides an error response. If you have
  35900. // the required permissions, the error response is DryRunOperation. Otherwise,
  35901. // it is UnauthorizedOperation.
  35902. DryRun *bool `type:"boolean"`
  35903. // The ID of the launch template. You must specify either the launch template
  35904. // ID or launch template name in the request.
  35905. LaunchTemplateId *string `type:"string"`
  35906. // The name of the launch template. You must specify either the launch template
  35907. // ID or launch template name in the request.
  35908. LaunchTemplateName *string `min:"3" type:"string"`
  35909. // The version numbers of one or more launch template versions to delete.
  35910. //
  35911. // Versions is a required field
  35912. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
  35913. }
  35914. // String returns the string representation
  35915. func (s DeleteLaunchTemplateVersionsInput) String() string {
  35916. return awsutil.Prettify(s)
  35917. }
  35918. // GoString returns the string representation
  35919. func (s DeleteLaunchTemplateVersionsInput) GoString() string {
  35920. return s.String()
  35921. }
  35922. // Validate inspects the fields of the type to determine if they are valid.
  35923. func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
  35924. invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
  35925. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  35926. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  35927. }
  35928. if s.Versions == nil {
  35929. invalidParams.Add(request.NewErrParamRequired("Versions"))
  35930. }
  35931. if invalidParams.Len() > 0 {
  35932. return invalidParams
  35933. }
  35934. return nil
  35935. }
  35936. // SetDryRun sets the DryRun field's value.
  35937. func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
  35938. s.DryRun = &v
  35939. return s
  35940. }
  35941. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  35942. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
  35943. s.LaunchTemplateId = &v
  35944. return s
  35945. }
  35946. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  35947. func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
  35948. s.LaunchTemplateName = &v
  35949. return s
  35950. }
  35951. // SetVersions sets the Versions field's value.
  35952. func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
  35953. s.Versions = v
  35954. return s
  35955. }
  35956. type DeleteLaunchTemplateVersionsOutput struct {
  35957. _ struct{} `type:"structure"`
  35958. // Information about the launch template versions that were successfully deleted.
  35959. SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  35960. // Information about the launch template versions that could not be deleted.
  35961. UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
  35962. }
  35963. // String returns the string representation
  35964. func (s DeleteLaunchTemplateVersionsOutput) String() string {
  35965. return awsutil.Prettify(s)
  35966. }
  35967. // GoString returns the string representation
  35968. func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
  35969. return s.String()
  35970. }
  35971. // SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
  35972. func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
  35973. s.SuccessfullyDeletedLaunchTemplateVersions = v
  35974. return s
  35975. }
  35976. // SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
  35977. func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
  35978. s.UnsuccessfullyDeletedLaunchTemplateVersions = v
  35979. return s
  35980. }
  35981. // Describes a launch template version that could not be deleted.
  35982. type DeleteLaunchTemplateVersionsResponseErrorItem struct {
  35983. _ struct{} `type:"structure"`
  35984. // The ID of the launch template.
  35985. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  35986. // The name of the launch template.
  35987. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  35988. // Information about the error.
  35989. ResponseError *ResponseError `locationName:"responseError" type:"structure"`
  35990. // The version number of the launch template.
  35991. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  35992. }
  35993. // String returns the string representation
  35994. func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
  35995. return awsutil.Prettify(s)
  35996. }
  35997. // GoString returns the string representation
  35998. func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
  35999. return s.String()
  36000. }
  36001. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  36002. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  36003. s.LaunchTemplateId = &v
  36004. return s
  36005. }
  36006. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  36007. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
  36008. s.LaunchTemplateName = &v
  36009. return s
  36010. }
  36011. // SetResponseError sets the ResponseError field's value.
  36012. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
  36013. s.ResponseError = v
  36014. return s
  36015. }
  36016. // SetVersionNumber sets the VersionNumber field's value.
  36017. func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
  36018. s.VersionNumber = &v
  36019. return s
  36020. }
  36021. // Describes a launch template version that was successfully deleted.
  36022. type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
  36023. _ struct{} `type:"structure"`
  36024. // The ID of the launch template.
  36025. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  36026. // The name of the launch template.
  36027. LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
  36028. // The version number of the launch template.
  36029. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  36030. }
  36031. // String returns the string representation
  36032. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
  36033. return awsutil.Prettify(s)
  36034. }
  36035. // GoString returns the string representation
  36036. func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
  36037. return s.String()
  36038. }
  36039. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  36040. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  36041. s.LaunchTemplateId = &v
  36042. return s
  36043. }
  36044. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  36045. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  36046. s.LaunchTemplateName = &v
  36047. return s
  36048. }
  36049. // SetVersionNumber sets the VersionNumber field's value.
  36050. func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
  36051. s.VersionNumber = &v
  36052. return s
  36053. }
  36054. type DeleteNatGatewayInput struct {
  36055. _ struct{} `type:"structure"`
  36056. // The ID of the NAT gateway.
  36057. //
  36058. // NatGatewayId is a required field
  36059. NatGatewayId *string `type:"string" required:"true"`
  36060. }
  36061. // String returns the string representation
  36062. func (s DeleteNatGatewayInput) String() string {
  36063. return awsutil.Prettify(s)
  36064. }
  36065. // GoString returns the string representation
  36066. func (s DeleteNatGatewayInput) GoString() string {
  36067. return s.String()
  36068. }
  36069. // Validate inspects the fields of the type to determine if they are valid.
  36070. func (s *DeleteNatGatewayInput) Validate() error {
  36071. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  36072. if s.NatGatewayId == nil {
  36073. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  36074. }
  36075. if invalidParams.Len() > 0 {
  36076. return invalidParams
  36077. }
  36078. return nil
  36079. }
  36080. // SetNatGatewayId sets the NatGatewayId field's value.
  36081. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  36082. s.NatGatewayId = &v
  36083. return s
  36084. }
  36085. type DeleteNatGatewayOutput struct {
  36086. _ struct{} `type:"structure"`
  36087. // The ID of the NAT gateway.
  36088. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  36089. }
  36090. // String returns the string representation
  36091. func (s DeleteNatGatewayOutput) String() string {
  36092. return awsutil.Prettify(s)
  36093. }
  36094. // GoString returns the string representation
  36095. func (s DeleteNatGatewayOutput) GoString() string {
  36096. return s.String()
  36097. }
  36098. // SetNatGatewayId sets the NatGatewayId field's value.
  36099. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  36100. s.NatGatewayId = &v
  36101. return s
  36102. }
  36103. type DeleteNetworkAclEntryInput struct {
  36104. _ struct{} `type:"structure"`
  36105. // Checks whether you have the required permissions for the action, without
  36106. // actually making the request, and provides an error response. If you have
  36107. // the required permissions, the error response is DryRunOperation. Otherwise,
  36108. // it is UnauthorizedOperation.
  36109. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36110. // Indicates whether the rule is an egress rule.
  36111. //
  36112. // Egress is a required field
  36113. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  36114. // The ID of the network ACL.
  36115. //
  36116. // NetworkAclId is a required field
  36117. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  36118. // The rule number of the entry to delete.
  36119. //
  36120. // RuleNumber is a required field
  36121. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  36122. }
  36123. // String returns the string representation
  36124. func (s DeleteNetworkAclEntryInput) String() string {
  36125. return awsutil.Prettify(s)
  36126. }
  36127. // GoString returns the string representation
  36128. func (s DeleteNetworkAclEntryInput) GoString() string {
  36129. return s.String()
  36130. }
  36131. // Validate inspects the fields of the type to determine if they are valid.
  36132. func (s *DeleteNetworkAclEntryInput) Validate() error {
  36133. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  36134. if s.Egress == nil {
  36135. invalidParams.Add(request.NewErrParamRequired("Egress"))
  36136. }
  36137. if s.NetworkAclId == nil {
  36138. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  36139. }
  36140. if s.RuleNumber == nil {
  36141. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  36142. }
  36143. if invalidParams.Len() > 0 {
  36144. return invalidParams
  36145. }
  36146. return nil
  36147. }
  36148. // SetDryRun sets the DryRun field's value.
  36149. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  36150. s.DryRun = &v
  36151. return s
  36152. }
  36153. // SetEgress sets the Egress field's value.
  36154. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  36155. s.Egress = &v
  36156. return s
  36157. }
  36158. // SetNetworkAclId sets the NetworkAclId field's value.
  36159. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  36160. s.NetworkAclId = &v
  36161. return s
  36162. }
  36163. // SetRuleNumber sets the RuleNumber field's value.
  36164. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  36165. s.RuleNumber = &v
  36166. return s
  36167. }
  36168. type DeleteNetworkAclEntryOutput struct {
  36169. _ struct{} `type:"structure"`
  36170. }
  36171. // String returns the string representation
  36172. func (s DeleteNetworkAclEntryOutput) String() string {
  36173. return awsutil.Prettify(s)
  36174. }
  36175. // GoString returns the string representation
  36176. func (s DeleteNetworkAclEntryOutput) GoString() string {
  36177. return s.String()
  36178. }
  36179. type DeleteNetworkAclInput struct {
  36180. _ struct{} `type:"structure"`
  36181. // Checks whether you have the required permissions for the action, without
  36182. // actually making the request, and provides an error response. If you have
  36183. // the required permissions, the error response is DryRunOperation. Otherwise,
  36184. // it is UnauthorizedOperation.
  36185. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36186. // The ID of the network ACL.
  36187. //
  36188. // NetworkAclId is a required field
  36189. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  36190. }
  36191. // String returns the string representation
  36192. func (s DeleteNetworkAclInput) String() string {
  36193. return awsutil.Prettify(s)
  36194. }
  36195. // GoString returns the string representation
  36196. func (s DeleteNetworkAclInput) GoString() string {
  36197. return s.String()
  36198. }
  36199. // Validate inspects the fields of the type to determine if they are valid.
  36200. func (s *DeleteNetworkAclInput) Validate() error {
  36201. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  36202. if s.NetworkAclId == nil {
  36203. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  36204. }
  36205. if invalidParams.Len() > 0 {
  36206. return invalidParams
  36207. }
  36208. return nil
  36209. }
  36210. // SetDryRun sets the DryRun field's value.
  36211. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  36212. s.DryRun = &v
  36213. return s
  36214. }
  36215. // SetNetworkAclId sets the NetworkAclId field's value.
  36216. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  36217. s.NetworkAclId = &v
  36218. return s
  36219. }
  36220. type DeleteNetworkAclOutput struct {
  36221. _ struct{} `type:"structure"`
  36222. }
  36223. // String returns the string representation
  36224. func (s DeleteNetworkAclOutput) String() string {
  36225. return awsutil.Prettify(s)
  36226. }
  36227. // GoString returns the string representation
  36228. func (s DeleteNetworkAclOutput) GoString() string {
  36229. return s.String()
  36230. }
  36231. // Contains the parameters for DeleteNetworkInterface.
  36232. type DeleteNetworkInterfaceInput struct {
  36233. _ struct{} `type:"structure"`
  36234. // Checks whether you have the required permissions for the action, without
  36235. // actually making the request, and provides an error response. If you have
  36236. // the required permissions, the error response is DryRunOperation. Otherwise,
  36237. // it is UnauthorizedOperation.
  36238. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36239. // The ID of the network interface.
  36240. //
  36241. // NetworkInterfaceId is a required field
  36242. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  36243. }
  36244. // String returns the string representation
  36245. func (s DeleteNetworkInterfaceInput) String() string {
  36246. return awsutil.Prettify(s)
  36247. }
  36248. // GoString returns the string representation
  36249. func (s DeleteNetworkInterfaceInput) GoString() string {
  36250. return s.String()
  36251. }
  36252. // Validate inspects the fields of the type to determine if they are valid.
  36253. func (s *DeleteNetworkInterfaceInput) Validate() error {
  36254. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  36255. if s.NetworkInterfaceId == nil {
  36256. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  36257. }
  36258. if invalidParams.Len() > 0 {
  36259. return invalidParams
  36260. }
  36261. return nil
  36262. }
  36263. // SetDryRun sets the DryRun field's value.
  36264. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  36265. s.DryRun = &v
  36266. return s
  36267. }
  36268. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36269. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  36270. s.NetworkInterfaceId = &v
  36271. return s
  36272. }
  36273. type DeleteNetworkInterfaceOutput struct {
  36274. _ struct{} `type:"structure"`
  36275. }
  36276. // String returns the string representation
  36277. func (s DeleteNetworkInterfaceOutput) String() string {
  36278. return awsutil.Prettify(s)
  36279. }
  36280. // GoString returns the string representation
  36281. func (s DeleteNetworkInterfaceOutput) GoString() string {
  36282. return s.String()
  36283. }
  36284. // Contains the parameters for DeleteNetworkInterfacePermission.
  36285. type DeleteNetworkInterfacePermissionInput struct {
  36286. _ struct{} `type:"structure"`
  36287. // Checks whether you have the required permissions for the action, without
  36288. // actually making the request, and provides an error response. If you have
  36289. // the required permissions, the error response is DryRunOperation. Otherwise,
  36290. // it is UnauthorizedOperation.
  36291. DryRun *bool `type:"boolean"`
  36292. // Specify true to remove the permission even if the network interface is attached
  36293. // to an instance.
  36294. Force *bool `type:"boolean"`
  36295. // The ID of the network interface permission.
  36296. //
  36297. // NetworkInterfacePermissionId is a required field
  36298. NetworkInterfacePermissionId *string `type:"string" required:"true"`
  36299. }
  36300. // String returns the string representation
  36301. func (s DeleteNetworkInterfacePermissionInput) String() string {
  36302. return awsutil.Prettify(s)
  36303. }
  36304. // GoString returns the string representation
  36305. func (s DeleteNetworkInterfacePermissionInput) GoString() string {
  36306. return s.String()
  36307. }
  36308. // Validate inspects the fields of the type to determine if they are valid.
  36309. func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
  36310. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
  36311. if s.NetworkInterfacePermissionId == nil {
  36312. invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
  36313. }
  36314. if invalidParams.Len() > 0 {
  36315. return invalidParams
  36316. }
  36317. return nil
  36318. }
  36319. // SetDryRun sets the DryRun field's value.
  36320. func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
  36321. s.DryRun = &v
  36322. return s
  36323. }
  36324. // SetForce sets the Force field's value.
  36325. func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
  36326. s.Force = &v
  36327. return s
  36328. }
  36329. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  36330. func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
  36331. s.NetworkInterfacePermissionId = &v
  36332. return s
  36333. }
  36334. // Contains the output for DeleteNetworkInterfacePermission.
  36335. type DeleteNetworkInterfacePermissionOutput struct {
  36336. _ struct{} `type:"structure"`
  36337. // Returns true if the request succeeds, otherwise returns an error.
  36338. Return *bool `locationName:"return" type:"boolean"`
  36339. }
  36340. // String returns the string representation
  36341. func (s DeleteNetworkInterfacePermissionOutput) String() string {
  36342. return awsutil.Prettify(s)
  36343. }
  36344. // GoString returns the string representation
  36345. func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
  36346. return s.String()
  36347. }
  36348. // SetReturn sets the Return field's value.
  36349. func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
  36350. s.Return = &v
  36351. return s
  36352. }
  36353. type DeletePlacementGroupInput struct {
  36354. _ struct{} `type:"structure"`
  36355. // Checks whether you have the required permissions for the action, without
  36356. // actually making the request, and provides an error response. If you have
  36357. // the required permissions, the error response is DryRunOperation. Otherwise,
  36358. // it is UnauthorizedOperation.
  36359. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36360. // The name of the placement group.
  36361. //
  36362. // GroupName is a required field
  36363. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  36364. }
  36365. // String returns the string representation
  36366. func (s DeletePlacementGroupInput) String() string {
  36367. return awsutil.Prettify(s)
  36368. }
  36369. // GoString returns the string representation
  36370. func (s DeletePlacementGroupInput) GoString() string {
  36371. return s.String()
  36372. }
  36373. // Validate inspects the fields of the type to determine if they are valid.
  36374. func (s *DeletePlacementGroupInput) Validate() error {
  36375. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  36376. if s.GroupName == nil {
  36377. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  36378. }
  36379. if invalidParams.Len() > 0 {
  36380. return invalidParams
  36381. }
  36382. return nil
  36383. }
  36384. // SetDryRun sets the DryRun field's value.
  36385. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  36386. s.DryRun = &v
  36387. return s
  36388. }
  36389. // SetGroupName sets the GroupName field's value.
  36390. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  36391. s.GroupName = &v
  36392. return s
  36393. }
  36394. type DeletePlacementGroupOutput struct {
  36395. _ struct{} `type:"structure"`
  36396. }
  36397. // String returns the string representation
  36398. func (s DeletePlacementGroupOutput) String() string {
  36399. return awsutil.Prettify(s)
  36400. }
  36401. // GoString returns the string representation
  36402. func (s DeletePlacementGroupOutput) GoString() string {
  36403. return s.String()
  36404. }
  36405. type DeleteRouteInput struct {
  36406. _ struct{} `type:"structure"`
  36407. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  36408. // for the route exactly.
  36409. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  36410. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  36411. // for the route exactly.
  36412. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  36413. // Checks whether you have the required permissions for the action, without
  36414. // actually making the request, and provides an error response. If you have
  36415. // the required permissions, the error response is DryRunOperation. Otherwise,
  36416. // it is UnauthorizedOperation.
  36417. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36418. // The ID of the route table.
  36419. //
  36420. // RouteTableId is a required field
  36421. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  36422. }
  36423. // String returns the string representation
  36424. func (s DeleteRouteInput) String() string {
  36425. return awsutil.Prettify(s)
  36426. }
  36427. // GoString returns the string representation
  36428. func (s DeleteRouteInput) GoString() string {
  36429. return s.String()
  36430. }
  36431. // Validate inspects the fields of the type to determine if they are valid.
  36432. func (s *DeleteRouteInput) Validate() error {
  36433. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  36434. if s.RouteTableId == nil {
  36435. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  36436. }
  36437. if invalidParams.Len() > 0 {
  36438. return invalidParams
  36439. }
  36440. return nil
  36441. }
  36442. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  36443. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  36444. s.DestinationCidrBlock = &v
  36445. return s
  36446. }
  36447. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  36448. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  36449. s.DestinationIpv6CidrBlock = &v
  36450. return s
  36451. }
  36452. // SetDryRun sets the DryRun field's value.
  36453. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  36454. s.DryRun = &v
  36455. return s
  36456. }
  36457. // SetRouteTableId sets the RouteTableId field's value.
  36458. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  36459. s.RouteTableId = &v
  36460. return s
  36461. }
  36462. type DeleteRouteOutput struct {
  36463. _ struct{} `type:"structure"`
  36464. }
  36465. // String returns the string representation
  36466. func (s DeleteRouteOutput) String() string {
  36467. return awsutil.Prettify(s)
  36468. }
  36469. // GoString returns the string representation
  36470. func (s DeleteRouteOutput) GoString() string {
  36471. return s.String()
  36472. }
  36473. type DeleteRouteTableInput struct {
  36474. _ struct{} `type:"structure"`
  36475. // Checks whether you have the required permissions for the action, without
  36476. // actually making the request, and provides an error response. If you have
  36477. // the required permissions, the error response is DryRunOperation. Otherwise,
  36478. // it is UnauthorizedOperation.
  36479. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36480. // The ID of the route table.
  36481. //
  36482. // RouteTableId is a required field
  36483. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  36484. }
  36485. // String returns the string representation
  36486. func (s DeleteRouteTableInput) String() string {
  36487. return awsutil.Prettify(s)
  36488. }
  36489. // GoString returns the string representation
  36490. func (s DeleteRouteTableInput) GoString() string {
  36491. return s.String()
  36492. }
  36493. // Validate inspects the fields of the type to determine if they are valid.
  36494. func (s *DeleteRouteTableInput) Validate() error {
  36495. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  36496. if s.RouteTableId == nil {
  36497. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  36498. }
  36499. if invalidParams.Len() > 0 {
  36500. return invalidParams
  36501. }
  36502. return nil
  36503. }
  36504. // SetDryRun sets the DryRun field's value.
  36505. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  36506. s.DryRun = &v
  36507. return s
  36508. }
  36509. // SetRouteTableId sets the RouteTableId field's value.
  36510. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  36511. s.RouteTableId = &v
  36512. return s
  36513. }
  36514. type DeleteRouteTableOutput struct {
  36515. _ struct{} `type:"structure"`
  36516. }
  36517. // String returns the string representation
  36518. func (s DeleteRouteTableOutput) String() string {
  36519. return awsutil.Prettify(s)
  36520. }
  36521. // GoString returns the string representation
  36522. func (s DeleteRouteTableOutput) GoString() string {
  36523. return s.String()
  36524. }
  36525. type DeleteSecurityGroupInput struct {
  36526. _ struct{} `type:"structure"`
  36527. // Checks whether you have the required permissions for the action, without
  36528. // actually making the request, and provides an error response. If you have
  36529. // the required permissions, the error response is DryRunOperation. Otherwise,
  36530. // it is UnauthorizedOperation.
  36531. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36532. // The ID of the security group. Required for a nondefault VPC.
  36533. GroupId *string `type:"string"`
  36534. // [EC2-Classic, default VPC] The name of the security group. You can specify
  36535. // either the security group name or the security group ID.
  36536. GroupName *string `type:"string"`
  36537. }
  36538. // String returns the string representation
  36539. func (s DeleteSecurityGroupInput) String() string {
  36540. return awsutil.Prettify(s)
  36541. }
  36542. // GoString returns the string representation
  36543. func (s DeleteSecurityGroupInput) GoString() string {
  36544. return s.String()
  36545. }
  36546. // SetDryRun sets the DryRun field's value.
  36547. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  36548. s.DryRun = &v
  36549. return s
  36550. }
  36551. // SetGroupId sets the GroupId field's value.
  36552. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  36553. s.GroupId = &v
  36554. return s
  36555. }
  36556. // SetGroupName sets the GroupName field's value.
  36557. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  36558. s.GroupName = &v
  36559. return s
  36560. }
  36561. type DeleteSecurityGroupOutput struct {
  36562. _ struct{} `type:"structure"`
  36563. }
  36564. // String returns the string representation
  36565. func (s DeleteSecurityGroupOutput) String() string {
  36566. return awsutil.Prettify(s)
  36567. }
  36568. // GoString returns the string representation
  36569. func (s DeleteSecurityGroupOutput) GoString() string {
  36570. return s.String()
  36571. }
  36572. // Contains the parameters for DeleteSnapshot.
  36573. type DeleteSnapshotInput struct {
  36574. _ struct{} `type:"structure"`
  36575. // Checks whether you have the required permissions for the action, without
  36576. // actually making the request, and provides an error response. If you have
  36577. // the required permissions, the error response is DryRunOperation. Otherwise,
  36578. // it is UnauthorizedOperation.
  36579. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36580. // The ID of the EBS snapshot.
  36581. //
  36582. // SnapshotId is a required field
  36583. SnapshotId *string `type:"string" required:"true"`
  36584. }
  36585. // String returns the string representation
  36586. func (s DeleteSnapshotInput) String() string {
  36587. return awsutil.Prettify(s)
  36588. }
  36589. // GoString returns the string representation
  36590. func (s DeleteSnapshotInput) GoString() string {
  36591. return s.String()
  36592. }
  36593. // Validate inspects the fields of the type to determine if they are valid.
  36594. func (s *DeleteSnapshotInput) Validate() error {
  36595. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  36596. if s.SnapshotId == nil {
  36597. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  36598. }
  36599. if invalidParams.Len() > 0 {
  36600. return invalidParams
  36601. }
  36602. return nil
  36603. }
  36604. // SetDryRun sets the DryRun field's value.
  36605. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  36606. s.DryRun = &v
  36607. return s
  36608. }
  36609. // SetSnapshotId sets the SnapshotId field's value.
  36610. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  36611. s.SnapshotId = &v
  36612. return s
  36613. }
  36614. type DeleteSnapshotOutput struct {
  36615. _ struct{} `type:"structure"`
  36616. }
  36617. // String returns the string representation
  36618. func (s DeleteSnapshotOutput) String() string {
  36619. return awsutil.Prettify(s)
  36620. }
  36621. // GoString returns the string representation
  36622. func (s DeleteSnapshotOutput) GoString() string {
  36623. return s.String()
  36624. }
  36625. // Contains the parameters for DeleteSpotDatafeedSubscription.
  36626. type DeleteSpotDatafeedSubscriptionInput struct {
  36627. _ struct{} `type:"structure"`
  36628. // Checks whether you have the required permissions for the action, without
  36629. // actually making the request, and provides an error response. If you have
  36630. // the required permissions, the error response is DryRunOperation. Otherwise,
  36631. // it is UnauthorizedOperation.
  36632. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36633. }
  36634. // String returns the string representation
  36635. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  36636. return awsutil.Prettify(s)
  36637. }
  36638. // GoString returns the string representation
  36639. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  36640. return s.String()
  36641. }
  36642. // SetDryRun sets the DryRun field's value.
  36643. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  36644. s.DryRun = &v
  36645. return s
  36646. }
  36647. type DeleteSpotDatafeedSubscriptionOutput struct {
  36648. _ struct{} `type:"structure"`
  36649. }
  36650. // String returns the string representation
  36651. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  36652. return awsutil.Prettify(s)
  36653. }
  36654. // GoString returns the string representation
  36655. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  36656. return s.String()
  36657. }
  36658. type DeleteSubnetInput struct {
  36659. _ struct{} `type:"structure"`
  36660. // Checks whether you have the required permissions for the action, without
  36661. // actually making the request, and provides an error response. If you have
  36662. // the required permissions, the error response is DryRunOperation. Otherwise,
  36663. // it is UnauthorizedOperation.
  36664. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36665. // The ID of the subnet.
  36666. //
  36667. // SubnetId is a required field
  36668. SubnetId *string `type:"string" required:"true"`
  36669. }
  36670. // String returns the string representation
  36671. func (s DeleteSubnetInput) String() string {
  36672. return awsutil.Prettify(s)
  36673. }
  36674. // GoString returns the string representation
  36675. func (s DeleteSubnetInput) GoString() string {
  36676. return s.String()
  36677. }
  36678. // Validate inspects the fields of the type to determine if they are valid.
  36679. func (s *DeleteSubnetInput) Validate() error {
  36680. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  36681. if s.SubnetId == nil {
  36682. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  36683. }
  36684. if invalidParams.Len() > 0 {
  36685. return invalidParams
  36686. }
  36687. return nil
  36688. }
  36689. // SetDryRun sets the DryRun field's value.
  36690. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  36691. s.DryRun = &v
  36692. return s
  36693. }
  36694. // SetSubnetId sets the SubnetId field's value.
  36695. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  36696. s.SubnetId = &v
  36697. return s
  36698. }
  36699. type DeleteSubnetOutput struct {
  36700. _ struct{} `type:"structure"`
  36701. }
  36702. // String returns the string representation
  36703. func (s DeleteSubnetOutput) String() string {
  36704. return awsutil.Prettify(s)
  36705. }
  36706. // GoString returns the string representation
  36707. func (s DeleteSubnetOutput) GoString() string {
  36708. return s.String()
  36709. }
  36710. type DeleteTagsInput struct {
  36711. _ struct{} `type:"structure"`
  36712. // Checks whether you have the required permissions for the action, without
  36713. // actually making the request, and provides an error response. If you have
  36714. // the required permissions, the error response is DryRunOperation. Otherwise,
  36715. // it is UnauthorizedOperation.
  36716. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36717. // The IDs of one or more resources, separated by spaces.
  36718. //
  36719. // Constraints: Up to 1000 resource IDs. We recommend breaking up this request
  36720. // into smaller batches.
  36721. //
  36722. // Resources is a required field
  36723. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  36724. // One or more tags to delete. Specify a tag key and an optional tag value to
  36725. // delete specific tags. If you specify a tag key without a tag value, we delete
  36726. // any tag with this key regardless of its value. If you specify a tag key with
  36727. // an empty string as the tag value, we delete the tag only if its value is
  36728. // an empty string.
  36729. //
  36730. // If you omit this parameter, we delete all user-defined tags for the specified
  36731. // resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
  36732. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  36733. }
  36734. // String returns the string representation
  36735. func (s DeleteTagsInput) String() string {
  36736. return awsutil.Prettify(s)
  36737. }
  36738. // GoString returns the string representation
  36739. func (s DeleteTagsInput) GoString() string {
  36740. return s.String()
  36741. }
  36742. // Validate inspects the fields of the type to determine if they are valid.
  36743. func (s *DeleteTagsInput) Validate() error {
  36744. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  36745. if s.Resources == nil {
  36746. invalidParams.Add(request.NewErrParamRequired("Resources"))
  36747. }
  36748. if invalidParams.Len() > 0 {
  36749. return invalidParams
  36750. }
  36751. return nil
  36752. }
  36753. // SetDryRun sets the DryRun field's value.
  36754. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  36755. s.DryRun = &v
  36756. return s
  36757. }
  36758. // SetResources sets the Resources field's value.
  36759. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  36760. s.Resources = v
  36761. return s
  36762. }
  36763. // SetTags sets the Tags field's value.
  36764. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  36765. s.Tags = v
  36766. return s
  36767. }
  36768. type DeleteTagsOutput struct {
  36769. _ struct{} `type:"structure"`
  36770. }
  36771. // String returns the string representation
  36772. func (s DeleteTagsOutput) String() string {
  36773. return awsutil.Prettify(s)
  36774. }
  36775. // GoString returns the string representation
  36776. func (s DeleteTagsOutput) GoString() string {
  36777. return s.String()
  36778. }
  36779. type DeleteTransitGatewayInput struct {
  36780. _ struct{} `type:"structure"`
  36781. // Checks whether you have the required permissions for the action, without
  36782. // actually making the request, and provides an error response. If you have
  36783. // the required permissions, the error response is DryRunOperation. Otherwise,
  36784. // it is UnauthorizedOperation.
  36785. DryRun *bool `type:"boolean"`
  36786. // The ID of the transit gateway.
  36787. //
  36788. // TransitGatewayId is a required field
  36789. TransitGatewayId *string `type:"string" required:"true"`
  36790. }
  36791. // String returns the string representation
  36792. func (s DeleteTransitGatewayInput) String() string {
  36793. return awsutil.Prettify(s)
  36794. }
  36795. // GoString returns the string representation
  36796. func (s DeleteTransitGatewayInput) GoString() string {
  36797. return s.String()
  36798. }
  36799. // Validate inspects the fields of the type to determine if they are valid.
  36800. func (s *DeleteTransitGatewayInput) Validate() error {
  36801. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
  36802. if s.TransitGatewayId == nil {
  36803. invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
  36804. }
  36805. if invalidParams.Len() > 0 {
  36806. return invalidParams
  36807. }
  36808. return nil
  36809. }
  36810. // SetDryRun sets the DryRun field's value.
  36811. func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
  36812. s.DryRun = &v
  36813. return s
  36814. }
  36815. // SetTransitGatewayId sets the TransitGatewayId field's value.
  36816. func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
  36817. s.TransitGatewayId = &v
  36818. return s
  36819. }
  36820. type DeleteTransitGatewayOutput struct {
  36821. _ struct{} `type:"structure"`
  36822. // Information about the deleted transit gateway.
  36823. TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
  36824. }
  36825. // String returns the string representation
  36826. func (s DeleteTransitGatewayOutput) String() string {
  36827. return awsutil.Prettify(s)
  36828. }
  36829. // GoString returns the string representation
  36830. func (s DeleteTransitGatewayOutput) GoString() string {
  36831. return s.String()
  36832. }
  36833. // SetTransitGateway sets the TransitGateway field's value.
  36834. func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
  36835. s.TransitGateway = v
  36836. return s
  36837. }
  36838. type DeleteTransitGatewayRouteInput struct {
  36839. _ struct{} `type:"structure"`
  36840. // The CIDR range for the route. This must match the CIDR for the route exactly.
  36841. //
  36842. // DestinationCidrBlock is a required field
  36843. DestinationCidrBlock *string `type:"string" required:"true"`
  36844. // Checks whether you have the required permissions for the action, without
  36845. // actually making the request, and provides an error response. If you have
  36846. // the required permissions, the error response is DryRunOperation. Otherwise,
  36847. // it is UnauthorizedOperation.
  36848. DryRun *bool `type:"boolean"`
  36849. // The ID of the transit gateway route table.
  36850. //
  36851. // TransitGatewayRouteTableId is a required field
  36852. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  36853. }
  36854. // String returns the string representation
  36855. func (s DeleteTransitGatewayRouteInput) String() string {
  36856. return awsutil.Prettify(s)
  36857. }
  36858. // GoString returns the string representation
  36859. func (s DeleteTransitGatewayRouteInput) GoString() string {
  36860. return s.String()
  36861. }
  36862. // Validate inspects the fields of the type to determine if they are valid.
  36863. func (s *DeleteTransitGatewayRouteInput) Validate() error {
  36864. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
  36865. if s.DestinationCidrBlock == nil {
  36866. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  36867. }
  36868. if s.TransitGatewayRouteTableId == nil {
  36869. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  36870. }
  36871. if invalidParams.Len() > 0 {
  36872. return invalidParams
  36873. }
  36874. return nil
  36875. }
  36876. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  36877. func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
  36878. s.DestinationCidrBlock = &v
  36879. return s
  36880. }
  36881. // SetDryRun sets the DryRun field's value.
  36882. func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
  36883. s.DryRun = &v
  36884. return s
  36885. }
  36886. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  36887. func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
  36888. s.TransitGatewayRouteTableId = &v
  36889. return s
  36890. }
  36891. type DeleteTransitGatewayRouteOutput struct {
  36892. _ struct{} `type:"structure"`
  36893. // Information about the route.
  36894. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  36895. }
  36896. // String returns the string representation
  36897. func (s DeleteTransitGatewayRouteOutput) String() string {
  36898. return awsutil.Prettify(s)
  36899. }
  36900. // GoString returns the string representation
  36901. func (s DeleteTransitGatewayRouteOutput) GoString() string {
  36902. return s.String()
  36903. }
  36904. // SetRoute sets the Route field's value.
  36905. func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
  36906. s.Route = v
  36907. return s
  36908. }
  36909. type DeleteTransitGatewayRouteTableInput struct {
  36910. _ struct{} `type:"structure"`
  36911. // Checks whether you have the required permissions for the action, without
  36912. // actually making the request, and provides an error response. If you have
  36913. // the required permissions, the error response is DryRunOperation. Otherwise,
  36914. // it is UnauthorizedOperation.
  36915. DryRun *bool `type:"boolean"`
  36916. // The ID of the transit gateway route table.
  36917. //
  36918. // TransitGatewayRouteTableId is a required field
  36919. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  36920. }
  36921. // String returns the string representation
  36922. func (s DeleteTransitGatewayRouteTableInput) String() string {
  36923. return awsutil.Prettify(s)
  36924. }
  36925. // GoString returns the string representation
  36926. func (s DeleteTransitGatewayRouteTableInput) GoString() string {
  36927. return s.String()
  36928. }
  36929. // Validate inspects the fields of the type to determine if they are valid.
  36930. func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
  36931. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
  36932. if s.TransitGatewayRouteTableId == nil {
  36933. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  36934. }
  36935. if invalidParams.Len() > 0 {
  36936. return invalidParams
  36937. }
  36938. return nil
  36939. }
  36940. // SetDryRun sets the DryRun field's value.
  36941. func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
  36942. s.DryRun = &v
  36943. return s
  36944. }
  36945. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  36946. func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
  36947. s.TransitGatewayRouteTableId = &v
  36948. return s
  36949. }
  36950. type DeleteTransitGatewayRouteTableOutput struct {
  36951. _ struct{} `type:"structure"`
  36952. // Information about the deleted transit gateway route table.
  36953. TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
  36954. }
  36955. // String returns the string representation
  36956. func (s DeleteTransitGatewayRouteTableOutput) String() string {
  36957. return awsutil.Prettify(s)
  36958. }
  36959. // GoString returns the string representation
  36960. func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
  36961. return s.String()
  36962. }
  36963. // SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
  36964. func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
  36965. s.TransitGatewayRouteTable = v
  36966. return s
  36967. }
  36968. type DeleteTransitGatewayVpcAttachmentInput struct {
  36969. _ struct{} `type:"structure"`
  36970. // Checks whether you have the required permissions for the action, without
  36971. // actually making the request, and provides an error response. If you have
  36972. // the required permissions, the error response is DryRunOperation. Otherwise,
  36973. // it is UnauthorizedOperation.
  36974. DryRun *bool `type:"boolean"`
  36975. // The ID of the attachment.
  36976. //
  36977. // TransitGatewayAttachmentId is a required field
  36978. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  36979. }
  36980. // String returns the string representation
  36981. func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
  36982. return awsutil.Prettify(s)
  36983. }
  36984. // GoString returns the string representation
  36985. func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
  36986. return s.String()
  36987. }
  36988. // Validate inspects the fields of the type to determine if they are valid.
  36989. func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
  36990. invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
  36991. if s.TransitGatewayAttachmentId == nil {
  36992. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  36993. }
  36994. if invalidParams.Len() > 0 {
  36995. return invalidParams
  36996. }
  36997. return nil
  36998. }
  36999. // SetDryRun sets the DryRun field's value.
  37000. func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
  37001. s.DryRun = &v
  37002. return s
  37003. }
  37004. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  37005. func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
  37006. s.TransitGatewayAttachmentId = &v
  37007. return s
  37008. }
  37009. type DeleteTransitGatewayVpcAttachmentOutput struct {
  37010. _ struct{} `type:"structure"`
  37011. // Information about the deleted VPC attachment.
  37012. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  37013. }
  37014. // String returns the string representation
  37015. func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
  37016. return awsutil.Prettify(s)
  37017. }
  37018. // GoString returns the string representation
  37019. func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
  37020. return s.String()
  37021. }
  37022. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  37023. func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
  37024. s.TransitGatewayVpcAttachment = v
  37025. return s
  37026. }
  37027. // Contains the parameters for DeleteVolume.
  37028. type DeleteVolumeInput struct {
  37029. _ struct{} `type:"structure"`
  37030. // Checks whether you have the required permissions for the action, without
  37031. // actually making the request, and provides an error response. If you have
  37032. // the required permissions, the error response is DryRunOperation. Otherwise,
  37033. // it is UnauthorizedOperation.
  37034. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37035. // The ID of the volume.
  37036. //
  37037. // VolumeId is a required field
  37038. VolumeId *string `type:"string" required:"true"`
  37039. }
  37040. // String returns the string representation
  37041. func (s DeleteVolumeInput) String() string {
  37042. return awsutil.Prettify(s)
  37043. }
  37044. // GoString returns the string representation
  37045. func (s DeleteVolumeInput) GoString() string {
  37046. return s.String()
  37047. }
  37048. // Validate inspects the fields of the type to determine if they are valid.
  37049. func (s *DeleteVolumeInput) Validate() error {
  37050. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  37051. if s.VolumeId == nil {
  37052. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  37053. }
  37054. if invalidParams.Len() > 0 {
  37055. return invalidParams
  37056. }
  37057. return nil
  37058. }
  37059. // SetDryRun sets the DryRun field's value.
  37060. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  37061. s.DryRun = &v
  37062. return s
  37063. }
  37064. // SetVolumeId sets the VolumeId field's value.
  37065. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  37066. s.VolumeId = &v
  37067. return s
  37068. }
  37069. type DeleteVolumeOutput struct {
  37070. _ struct{} `type:"structure"`
  37071. }
  37072. // String returns the string representation
  37073. func (s DeleteVolumeOutput) String() string {
  37074. return awsutil.Prettify(s)
  37075. }
  37076. // GoString returns the string representation
  37077. func (s DeleteVolumeOutput) GoString() string {
  37078. return s.String()
  37079. }
  37080. type DeleteVpcEndpointConnectionNotificationsInput struct {
  37081. _ struct{} `type:"structure"`
  37082. // One or more notification IDs.
  37083. //
  37084. // ConnectionNotificationIds is a required field
  37085. ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
  37086. // Checks whether you have the required permissions for the action, without
  37087. // actually making the request, and provides an error response. If you have
  37088. // the required permissions, the error response is DryRunOperation. Otherwise,
  37089. // it is UnauthorizedOperation.
  37090. DryRun *bool `type:"boolean"`
  37091. }
  37092. // String returns the string representation
  37093. func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
  37094. return awsutil.Prettify(s)
  37095. }
  37096. // GoString returns the string representation
  37097. func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
  37098. return s.String()
  37099. }
  37100. // Validate inspects the fields of the type to determine if they are valid.
  37101. func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
  37102. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
  37103. if s.ConnectionNotificationIds == nil {
  37104. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
  37105. }
  37106. if invalidParams.Len() > 0 {
  37107. return invalidParams
  37108. }
  37109. return nil
  37110. }
  37111. // SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
  37112. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
  37113. s.ConnectionNotificationIds = v
  37114. return s
  37115. }
  37116. // SetDryRun sets the DryRun field's value.
  37117. func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
  37118. s.DryRun = &v
  37119. return s
  37120. }
  37121. type DeleteVpcEndpointConnectionNotificationsOutput struct {
  37122. _ struct{} `type:"structure"`
  37123. // Information about the notifications that could not be deleted successfully.
  37124. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  37125. }
  37126. // String returns the string representation
  37127. func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
  37128. return awsutil.Prettify(s)
  37129. }
  37130. // GoString returns the string representation
  37131. func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
  37132. return s.String()
  37133. }
  37134. // SetUnsuccessful sets the Unsuccessful field's value.
  37135. func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
  37136. s.Unsuccessful = v
  37137. return s
  37138. }
  37139. type DeleteVpcEndpointServiceConfigurationsInput struct {
  37140. _ struct{} `type:"structure"`
  37141. // Checks whether you have the required permissions for the action, without
  37142. // actually making the request, and provides an error response. If you have
  37143. // the required permissions, the error response is DryRunOperation. Otherwise,
  37144. // it is UnauthorizedOperation.
  37145. DryRun *bool `type:"boolean"`
  37146. // The IDs of one or more services.
  37147. //
  37148. // ServiceIds is a required field
  37149. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
  37150. }
  37151. // String returns the string representation
  37152. func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
  37153. return awsutil.Prettify(s)
  37154. }
  37155. // GoString returns the string representation
  37156. func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
  37157. return s.String()
  37158. }
  37159. // Validate inspects the fields of the type to determine if they are valid.
  37160. func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
  37161. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
  37162. if s.ServiceIds == nil {
  37163. invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
  37164. }
  37165. if invalidParams.Len() > 0 {
  37166. return invalidParams
  37167. }
  37168. return nil
  37169. }
  37170. // SetDryRun sets the DryRun field's value.
  37171. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
  37172. s.DryRun = &v
  37173. return s
  37174. }
  37175. // SetServiceIds sets the ServiceIds field's value.
  37176. func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
  37177. s.ServiceIds = v
  37178. return s
  37179. }
  37180. type DeleteVpcEndpointServiceConfigurationsOutput struct {
  37181. _ struct{} `type:"structure"`
  37182. // Information about the service configurations that were not deleted, if applicable.
  37183. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  37184. }
  37185. // String returns the string representation
  37186. func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
  37187. return awsutil.Prettify(s)
  37188. }
  37189. // GoString returns the string representation
  37190. func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
  37191. return s.String()
  37192. }
  37193. // SetUnsuccessful sets the Unsuccessful field's value.
  37194. func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
  37195. s.Unsuccessful = v
  37196. return s
  37197. }
  37198. // Contains the parameters for DeleteVpcEndpoints.
  37199. type DeleteVpcEndpointsInput struct {
  37200. _ struct{} `type:"structure"`
  37201. // Checks whether you have the required permissions for the action, without
  37202. // actually making the request, and provides an error response. If you have
  37203. // the required permissions, the error response is DryRunOperation. Otherwise,
  37204. // it is UnauthorizedOperation.
  37205. DryRun *bool `type:"boolean"`
  37206. // One or more VPC endpoint IDs.
  37207. //
  37208. // VpcEndpointIds is a required field
  37209. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  37210. }
  37211. // String returns the string representation
  37212. func (s DeleteVpcEndpointsInput) String() string {
  37213. return awsutil.Prettify(s)
  37214. }
  37215. // GoString returns the string representation
  37216. func (s DeleteVpcEndpointsInput) GoString() string {
  37217. return s.String()
  37218. }
  37219. // Validate inspects the fields of the type to determine if they are valid.
  37220. func (s *DeleteVpcEndpointsInput) Validate() error {
  37221. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  37222. if s.VpcEndpointIds == nil {
  37223. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  37224. }
  37225. if invalidParams.Len() > 0 {
  37226. return invalidParams
  37227. }
  37228. return nil
  37229. }
  37230. // SetDryRun sets the DryRun field's value.
  37231. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  37232. s.DryRun = &v
  37233. return s
  37234. }
  37235. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  37236. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  37237. s.VpcEndpointIds = v
  37238. return s
  37239. }
  37240. // Contains the output of DeleteVpcEndpoints.
  37241. type DeleteVpcEndpointsOutput struct {
  37242. _ struct{} `type:"structure"`
  37243. // Information about the VPC endpoints that were not successfully deleted.
  37244. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  37245. }
  37246. // String returns the string representation
  37247. func (s DeleteVpcEndpointsOutput) String() string {
  37248. return awsutil.Prettify(s)
  37249. }
  37250. // GoString returns the string representation
  37251. func (s DeleteVpcEndpointsOutput) GoString() string {
  37252. return s.String()
  37253. }
  37254. // SetUnsuccessful sets the Unsuccessful field's value.
  37255. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  37256. s.Unsuccessful = v
  37257. return s
  37258. }
  37259. type DeleteVpcInput struct {
  37260. _ struct{} `type:"structure"`
  37261. // Checks whether you have the required permissions for the action, without
  37262. // actually making the request, and provides an error response. If you have
  37263. // the required permissions, the error response is DryRunOperation. Otherwise,
  37264. // it is UnauthorizedOperation.
  37265. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37266. // The ID of the VPC.
  37267. //
  37268. // VpcId is a required field
  37269. VpcId *string `type:"string" required:"true"`
  37270. }
  37271. // String returns the string representation
  37272. func (s DeleteVpcInput) String() string {
  37273. return awsutil.Prettify(s)
  37274. }
  37275. // GoString returns the string representation
  37276. func (s DeleteVpcInput) GoString() string {
  37277. return s.String()
  37278. }
  37279. // Validate inspects the fields of the type to determine if they are valid.
  37280. func (s *DeleteVpcInput) Validate() error {
  37281. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  37282. if s.VpcId == nil {
  37283. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  37284. }
  37285. if invalidParams.Len() > 0 {
  37286. return invalidParams
  37287. }
  37288. return nil
  37289. }
  37290. // SetDryRun sets the DryRun field's value.
  37291. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  37292. s.DryRun = &v
  37293. return s
  37294. }
  37295. // SetVpcId sets the VpcId field's value.
  37296. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  37297. s.VpcId = &v
  37298. return s
  37299. }
  37300. type DeleteVpcOutput struct {
  37301. _ struct{} `type:"structure"`
  37302. }
  37303. // String returns the string representation
  37304. func (s DeleteVpcOutput) String() string {
  37305. return awsutil.Prettify(s)
  37306. }
  37307. // GoString returns the string representation
  37308. func (s DeleteVpcOutput) GoString() string {
  37309. return s.String()
  37310. }
  37311. type DeleteVpcPeeringConnectionInput struct {
  37312. _ struct{} `type:"structure"`
  37313. // Checks whether you have the required permissions for the action, without
  37314. // actually making the request, and provides an error response. If you have
  37315. // the required permissions, the error response is DryRunOperation. Otherwise,
  37316. // it is UnauthorizedOperation.
  37317. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37318. // The ID of the VPC peering connection.
  37319. //
  37320. // VpcPeeringConnectionId is a required field
  37321. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  37322. }
  37323. // String returns the string representation
  37324. func (s DeleteVpcPeeringConnectionInput) String() string {
  37325. return awsutil.Prettify(s)
  37326. }
  37327. // GoString returns the string representation
  37328. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  37329. return s.String()
  37330. }
  37331. // Validate inspects the fields of the type to determine if they are valid.
  37332. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  37333. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  37334. if s.VpcPeeringConnectionId == nil {
  37335. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  37336. }
  37337. if invalidParams.Len() > 0 {
  37338. return invalidParams
  37339. }
  37340. return nil
  37341. }
  37342. // SetDryRun sets the DryRun field's value.
  37343. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  37344. s.DryRun = &v
  37345. return s
  37346. }
  37347. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  37348. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  37349. s.VpcPeeringConnectionId = &v
  37350. return s
  37351. }
  37352. type DeleteVpcPeeringConnectionOutput struct {
  37353. _ struct{} `type:"structure"`
  37354. // Returns true if the request succeeds; otherwise, it returns an error.
  37355. Return *bool `locationName:"return" type:"boolean"`
  37356. }
  37357. // String returns the string representation
  37358. func (s DeleteVpcPeeringConnectionOutput) String() string {
  37359. return awsutil.Prettify(s)
  37360. }
  37361. // GoString returns the string representation
  37362. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  37363. return s.String()
  37364. }
  37365. // SetReturn sets the Return field's value.
  37366. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  37367. s.Return = &v
  37368. return s
  37369. }
  37370. // Contains the parameters for DeleteVpnConnection.
  37371. type DeleteVpnConnectionInput struct {
  37372. _ struct{} `type:"structure"`
  37373. // Checks whether you have the required permissions for the action, without
  37374. // actually making the request, and provides an error response. If you have
  37375. // the required permissions, the error response is DryRunOperation. Otherwise,
  37376. // it is UnauthorizedOperation.
  37377. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37378. // The ID of the VPN connection.
  37379. //
  37380. // VpnConnectionId is a required field
  37381. VpnConnectionId *string `type:"string" required:"true"`
  37382. }
  37383. // String returns the string representation
  37384. func (s DeleteVpnConnectionInput) String() string {
  37385. return awsutil.Prettify(s)
  37386. }
  37387. // GoString returns the string representation
  37388. func (s DeleteVpnConnectionInput) GoString() string {
  37389. return s.String()
  37390. }
  37391. // Validate inspects the fields of the type to determine if they are valid.
  37392. func (s *DeleteVpnConnectionInput) Validate() error {
  37393. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  37394. if s.VpnConnectionId == nil {
  37395. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  37396. }
  37397. if invalidParams.Len() > 0 {
  37398. return invalidParams
  37399. }
  37400. return nil
  37401. }
  37402. // SetDryRun sets the DryRun field's value.
  37403. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  37404. s.DryRun = &v
  37405. return s
  37406. }
  37407. // SetVpnConnectionId sets the VpnConnectionId field's value.
  37408. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  37409. s.VpnConnectionId = &v
  37410. return s
  37411. }
  37412. type DeleteVpnConnectionOutput struct {
  37413. _ struct{} `type:"structure"`
  37414. }
  37415. // String returns the string representation
  37416. func (s DeleteVpnConnectionOutput) String() string {
  37417. return awsutil.Prettify(s)
  37418. }
  37419. // GoString returns the string representation
  37420. func (s DeleteVpnConnectionOutput) GoString() string {
  37421. return s.String()
  37422. }
  37423. // Contains the parameters for DeleteVpnConnectionRoute.
  37424. type DeleteVpnConnectionRouteInput struct {
  37425. _ struct{} `type:"structure"`
  37426. // The CIDR block associated with the local subnet of the customer network.
  37427. //
  37428. // DestinationCidrBlock is a required field
  37429. DestinationCidrBlock *string `type:"string" required:"true"`
  37430. // The ID of the VPN connection.
  37431. //
  37432. // VpnConnectionId is a required field
  37433. VpnConnectionId *string `type:"string" required:"true"`
  37434. }
  37435. // String returns the string representation
  37436. func (s DeleteVpnConnectionRouteInput) String() string {
  37437. return awsutil.Prettify(s)
  37438. }
  37439. // GoString returns the string representation
  37440. func (s DeleteVpnConnectionRouteInput) GoString() string {
  37441. return s.String()
  37442. }
  37443. // Validate inspects the fields of the type to determine if they are valid.
  37444. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  37445. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  37446. if s.DestinationCidrBlock == nil {
  37447. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  37448. }
  37449. if s.VpnConnectionId == nil {
  37450. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  37451. }
  37452. if invalidParams.Len() > 0 {
  37453. return invalidParams
  37454. }
  37455. return nil
  37456. }
  37457. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  37458. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  37459. s.DestinationCidrBlock = &v
  37460. return s
  37461. }
  37462. // SetVpnConnectionId sets the VpnConnectionId field's value.
  37463. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  37464. s.VpnConnectionId = &v
  37465. return s
  37466. }
  37467. type DeleteVpnConnectionRouteOutput struct {
  37468. _ struct{} `type:"structure"`
  37469. }
  37470. // String returns the string representation
  37471. func (s DeleteVpnConnectionRouteOutput) String() string {
  37472. return awsutil.Prettify(s)
  37473. }
  37474. // GoString returns the string representation
  37475. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  37476. return s.String()
  37477. }
  37478. // Contains the parameters for DeleteVpnGateway.
  37479. type DeleteVpnGatewayInput struct {
  37480. _ struct{} `type:"structure"`
  37481. // Checks whether you have the required permissions for the action, without
  37482. // actually making the request, and provides an error response. If you have
  37483. // the required permissions, the error response is DryRunOperation. Otherwise,
  37484. // it is UnauthorizedOperation.
  37485. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37486. // The ID of the virtual private gateway.
  37487. //
  37488. // VpnGatewayId is a required field
  37489. VpnGatewayId *string `type:"string" required:"true"`
  37490. }
  37491. // String returns the string representation
  37492. func (s DeleteVpnGatewayInput) String() string {
  37493. return awsutil.Prettify(s)
  37494. }
  37495. // GoString returns the string representation
  37496. func (s DeleteVpnGatewayInput) GoString() string {
  37497. return s.String()
  37498. }
  37499. // Validate inspects the fields of the type to determine if they are valid.
  37500. func (s *DeleteVpnGatewayInput) Validate() error {
  37501. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  37502. if s.VpnGatewayId == nil {
  37503. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  37504. }
  37505. if invalidParams.Len() > 0 {
  37506. return invalidParams
  37507. }
  37508. return nil
  37509. }
  37510. // SetDryRun sets the DryRun field's value.
  37511. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  37512. s.DryRun = &v
  37513. return s
  37514. }
  37515. // SetVpnGatewayId sets the VpnGatewayId field's value.
  37516. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  37517. s.VpnGatewayId = &v
  37518. return s
  37519. }
  37520. type DeleteVpnGatewayOutput struct {
  37521. _ struct{} `type:"structure"`
  37522. }
  37523. // String returns the string representation
  37524. func (s DeleteVpnGatewayOutput) String() string {
  37525. return awsutil.Prettify(s)
  37526. }
  37527. // GoString returns the string representation
  37528. func (s DeleteVpnGatewayOutput) GoString() string {
  37529. return s.String()
  37530. }
  37531. type DeprovisionByoipCidrInput struct {
  37532. _ struct{} `type:"structure"`
  37533. // The public IPv4 address range, in CIDR notation. The prefix must be the same
  37534. // prefix that you specified when you provisioned the address range.
  37535. //
  37536. // Cidr is a required field
  37537. Cidr *string `type:"string" required:"true"`
  37538. // Checks whether you have the required permissions for the action, without
  37539. // actually making the request, and provides an error response. If you have
  37540. // the required permissions, the error response is DryRunOperation. Otherwise,
  37541. // it is UnauthorizedOperation.
  37542. DryRun *bool `type:"boolean"`
  37543. }
  37544. // String returns the string representation
  37545. func (s DeprovisionByoipCidrInput) String() string {
  37546. return awsutil.Prettify(s)
  37547. }
  37548. // GoString returns the string representation
  37549. func (s DeprovisionByoipCidrInput) GoString() string {
  37550. return s.String()
  37551. }
  37552. // Validate inspects the fields of the type to determine if they are valid.
  37553. func (s *DeprovisionByoipCidrInput) Validate() error {
  37554. invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
  37555. if s.Cidr == nil {
  37556. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  37557. }
  37558. if invalidParams.Len() > 0 {
  37559. return invalidParams
  37560. }
  37561. return nil
  37562. }
  37563. // SetCidr sets the Cidr field's value.
  37564. func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
  37565. s.Cidr = &v
  37566. return s
  37567. }
  37568. // SetDryRun sets the DryRun field's value.
  37569. func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
  37570. s.DryRun = &v
  37571. return s
  37572. }
  37573. type DeprovisionByoipCidrOutput struct {
  37574. _ struct{} `type:"structure"`
  37575. // Information about the address range.
  37576. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  37577. }
  37578. // String returns the string representation
  37579. func (s DeprovisionByoipCidrOutput) String() string {
  37580. return awsutil.Prettify(s)
  37581. }
  37582. // GoString returns the string representation
  37583. func (s DeprovisionByoipCidrOutput) GoString() string {
  37584. return s.String()
  37585. }
  37586. // SetByoipCidr sets the ByoipCidr field's value.
  37587. func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
  37588. s.ByoipCidr = v
  37589. return s
  37590. }
  37591. // Contains the parameters for DeregisterImage.
  37592. type DeregisterImageInput struct {
  37593. _ struct{} `type:"structure"`
  37594. // Checks whether you have the required permissions for the action, without
  37595. // actually making the request, and provides an error response. If you have
  37596. // the required permissions, the error response is DryRunOperation. Otherwise,
  37597. // it is UnauthorizedOperation.
  37598. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37599. // The ID of the AMI.
  37600. //
  37601. // ImageId is a required field
  37602. ImageId *string `type:"string" required:"true"`
  37603. }
  37604. // String returns the string representation
  37605. func (s DeregisterImageInput) String() string {
  37606. return awsutil.Prettify(s)
  37607. }
  37608. // GoString returns the string representation
  37609. func (s DeregisterImageInput) GoString() string {
  37610. return s.String()
  37611. }
  37612. // Validate inspects the fields of the type to determine if they are valid.
  37613. func (s *DeregisterImageInput) Validate() error {
  37614. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  37615. if s.ImageId == nil {
  37616. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  37617. }
  37618. if invalidParams.Len() > 0 {
  37619. return invalidParams
  37620. }
  37621. return nil
  37622. }
  37623. // SetDryRun sets the DryRun field's value.
  37624. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  37625. s.DryRun = &v
  37626. return s
  37627. }
  37628. // SetImageId sets the ImageId field's value.
  37629. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  37630. s.ImageId = &v
  37631. return s
  37632. }
  37633. type DeregisterImageOutput struct {
  37634. _ struct{} `type:"structure"`
  37635. }
  37636. // String returns the string representation
  37637. func (s DeregisterImageOutput) String() string {
  37638. return awsutil.Prettify(s)
  37639. }
  37640. // GoString returns the string representation
  37641. func (s DeregisterImageOutput) GoString() string {
  37642. return s.String()
  37643. }
  37644. type DescribeAccountAttributesInput struct {
  37645. _ struct{} `type:"structure"`
  37646. // One or more account attribute names.
  37647. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  37648. // Checks whether you have the required permissions for the action, without
  37649. // actually making the request, and provides an error response. If you have
  37650. // the required permissions, the error response is DryRunOperation. Otherwise,
  37651. // it is UnauthorizedOperation.
  37652. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37653. }
  37654. // String returns the string representation
  37655. func (s DescribeAccountAttributesInput) String() string {
  37656. return awsutil.Prettify(s)
  37657. }
  37658. // GoString returns the string representation
  37659. func (s DescribeAccountAttributesInput) GoString() string {
  37660. return s.String()
  37661. }
  37662. // SetAttributeNames sets the AttributeNames field's value.
  37663. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  37664. s.AttributeNames = v
  37665. return s
  37666. }
  37667. // SetDryRun sets the DryRun field's value.
  37668. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  37669. s.DryRun = &v
  37670. return s
  37671. }
  37672. type DescribeAccountAttributesOutput struct {
  37673. _ struct{} `type:"structure"`
  37674. // Information about one or more account attributes.
  37675. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  37676. }
  37677. // String returns the string representation
  37678. func (s DescribeAccountAttributesOutput) String() string {
  37679. return awsutil.Prettify(s)
  37680. }
  37681. // GoString returns the string representation
  37682. func (s DescribeAccountAttributesOutput) GoString() string {
  37683. return s.String()
  37684. }
  37685. // SetAccountAttributes sets the AccountAttributes field's value.
  37686. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  37687. s.AccountAttributes = v
  37688. return s
  37689. }
  37690. type DescribeAddressesInput struct {
  37691. _ struct{} `type:"structure"`
  37692. // [EC2-VPC] One or more allocation IDs.
  37693. //
  37694. // Default: Describes all your Elastic IP addresses.
  37695. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  37696. // Checks whether you have the required permissions for the action, without
  37697. // actually making the request, and provides an error response. If you have
  37698. // the required permissions, the error response is DryRunOperation. Otherwise,
  37699. // it is UnauthorizedOperation.
  37700. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37701. // One or more filters. Filter names and values are case-sensitive.
  37702. //
  37703. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  37704. //
  37705. // * association-id - [EC2-VPC] The association ID for the address.
  37706. //
  37707. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  37708. // or in a VPC (vpc).
  37709. //
  37710. // * instance-id - The ID of the instance the address is associated with,
  37711. // if any.
  37712. //
  37713. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  37714. // the address is associated with, if any.
  37715. //
  37716. // * network-interface-owner-id - The AWS account ID of the owner.
  37717. //
  37718. // * private-ip-address - [EC2-VPC] The private IP address associated with
  37719. // the Elastic IP address.
  37720. //
  37721. // * public-ip - The Elastic IP address.
  37722. //
  37723. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  37724. // Use the tag key in the filter name and the tag value as the filter value.
  37725. // For example, to find all resources that have a tag with the key Owner
  37726. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  37727. // the filter value.
  37728. //
  37729. // * tag-key - The key of a tag assigned to the resource. Use this filter
  37730. // to find all resources assigned a tag with a specific key, regardless of
  37731. // the tag value.
  37732. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37733. // One or more Elastic IP addresses.
  37734. //
  37735. // Default: Describes all your Elastic IP addresses.
  37736. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  37737. }
  37738. // String returns the string representation
  37739. func (s DescribeAddressesInput) String() string {
  37740. return awsutil.Prettify(s)
  37741. }
  37742. // GoString returns the string representation
  37743. func (s DescribeAddressesInput) GoString() string {
  37744. return s.String()
  37745. }
  37746. // SetAllocationIds sets the AllocationIds field's value.
  37747. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  37748. s.AllocationIds = v
  37749. return s
  37750. }
  37751. // SetDryRun sets the DryRun field's value.
  37752. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  37753. s.DryRun = &v
  37754. return s
  37755. }
  37756. // SetFilters sets the Filters field's value.
  37757. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  37758. s.Filters = v
  37759. return s
  37760. }
  37761. // SetPublicIps sets the PublicIps field's value.
  37762. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  37763. s.PublicIps = v
  37764. return s
  37765. }
  37766. type DescribeAddressesOutput struct {
  37767. _ struct{} `type:"structure"`
  37768. // Information about one or more Elastic IP addresses.
  37769. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  37770. }
  37771. // String returns the string representation
  37772. func (s DescribeAddressesOutput) String() string {
  37773. return awsutil.Prettify(s)
  37774. }
  37775. // GoString returns the string representation
  37776. func (s DescribeAddressesOutput) GoString() string {
  37777. return s.String()
  37778. }
  37779. // SetAddresses sets the Addresses field's value.
  37780. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  37781. s.Addresses = v
  37782. return s
  37783. }
  37784. type DescribeAggregateIdFormatInput struct {
  37785. _ struct{} `type:"structure"`
  37786. // Checks whether you have the required permissions for the action, without
  37787. // actually making the request, and provides an error response. If you have
  37788. // the required permissions, the error response is DryRunOperation. Otherwise,
  37789. // it is UnauthorizedOperation.
  37790. DryRun *bool `type:"boolean"`
  37791. }
  37792. // String returns the string representation
  37793. func (s DescribeAggregateIdFormatInput) String() string {
  37794. return awsutil.Prettify(s)
  37795. }
  37796. // GoString returns the string representation
  37797. func (s DescribeAggregateIdFormatInput) GoString() string {
  37798. return s.String()
  37799. }
  37800. // SetDryRun sets the DryRun field's value.
  37801. func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
  37802. s.DryRun = &v
  37803. return s
  37804. }
  37805. type DescribeAggregateIdFormatOutput struct {
  37806. _ struct{} `type:"structure"`
  37807. // Information about each resource's ID format.
  37808. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  37809. // Indicates whether all resource types in the region are configured to use
  37810. // longer IDs. This value is only true if all users are configured to use longer
  37811. // IDs for all resources types in the region.
  37812. UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
  37813. }
  37814. // String returns the string representation
  37815. func (s DescribeAggregateIdFormatOutput) String() string {
  37816. return awsutil.Prettify(s)
  37817. }
  37818. // GoString returns the string representation
  37819. func (s DescribeAggregateIdFormatOutput) GoString() string {
  37820. return s.String()
  37821. }
  37822. // SetStatuses sets the Statuses field's value.
  37823. func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
  37824. s.Statuses = v
  37825. return s
  37826. }
  37827. // SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
  37828. func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
  37829. s.UseLongIdsAggregated = &v
  37830. return s
  37831. }
  37832. type DescribeAvailabilityZonesInput struct {
  37833. _ struct{} `type:"structure"`
  37834. // Checks whether you have the required permissions for the action, without
  37835. // actually making the request, and provides an error response. If you have
  37836. // the required permissions, the error response is DryRunOperation. Otherwise,
  37837. // it is UnauthorizedOperation.
  37838. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37839. // One or more filters.
  37840. //
  37841. // * message - Information about the Availability Zone.
  37842. //
  37843. // * region-name - The name of the region for the Availability Zone (for
  37844. // example, us-east-1).
  37845. //
  37846. // * state - The state of the Availability Zone (available | information
  37847. // | impaired | unavailable).
  37848. //
  37849. // * zone-id - The ID of the Availability Zone (for example, use1-az1).
  37850. //
  37851. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  37852. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37853. // The IDs of one or more Availability Zones.
  37854. ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
  37855. // The names of one or more Availability Zones.
  37856. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  37857. }
  37858. // String returns the string representation
  37859. func (s DescribeAvailabilityZonesInput) String() string {
  37860. return awsutil.Prettify(s)
  37861. }
  37862. // GoString returns the string representation
  37863. func (s DescribeAvailabilityZonesInput) GoString() string {
  37864. return s.String()
  37865. }
  37866. // SetDryRun sets the DryRun field's value.
  37867. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  37868. s.DryRun = &v
  37869. return s
  37870. }
  37871. // SetFilters sets the Filters field's value.
  37872. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  37873. s.Filters = v
  37874. return s
  37875. }
  37876. // SetZoneIds sets the ZoneIds field's value.
  37877. func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
  37878. s.ZoneIds = v
  37879. return s
  37880. }
  37881. // SetZoneNames sets the ZoneNames field's value.
  37882. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  37883. s.ZoneNames = v
  37884. return s
  37885. }
  37886. type DescribeAvailabilityZonesOutput struct {
  37887. _ struct{} `type:"structure"`
  37888. // Information about one or more Availability Zones.
  37889. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  37890. }
  37891. // String returns the string representation
  37892. func (s DescribeAvailabilityZonesOutput) String() string {
  37893. return awsutil.Prettify(s)
  37894. }
  37895. // GoString returns the string representation
  37896. func (s DescribeAvailabilityZonesOutput) GoString() string {
  37897. return s.String()
  37898. }
  37899. // SetAvailabilityZones sets the AvailabilityZones field's value.
  37900. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  37901. s.AvailabilityZones = v
  37902. return s
  37903. }
  37904. // Contains the parameters for DescribeBundleTasks.
  37905. type DescribeBundleTasksInput struct {
  37906. _ struct{} `type:"structure"`
  37907. // One or more bundle task IDs.
  37908. //
  37909. // Default: Describes all your bundle tasks.
  37910. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  37911. // Checks whether you have the required permissions for the action, without
  37912. // actually making the request, and provides an error response. If you have
  37913. // the required permissions, the error response is DryRunOperation. Otherwise,
  37914. // it is UnauthorizedOperation.
  37915. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37916. // One or more filters.
  37917. //
  37918. // * bundle-id - The ID of the bundle task.
  37919. //
  37920. // * error-code - If the task failed, the error code returned.
  37921. //
  37922. // * error-message - If the task failed, the error message returned.
  37923. //
  37924. // * instance-id - The ID of the instance.
  37925. //
  37926. // * progress - The level of task completion, as a percentage (for example,
  37927. // 20%).
  37928. //
  37929. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  37930. //
  37931. // * s3-prefix - The beginning of the AMI name.
  37932. //
  37933. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  37934. //
  37935. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  37936. // | storing | cancelling | complete | failed).
  37937. //
  37938. // * update-time - The time of the most recent update for the task.
  37939. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  37940. }
  37941. // String returns the string representation
  37942. func (s DescribeBundleTasksInput) String() string {
  37943. return awsutil.Prettify(s)
  37944. }
  37945. // GoString returns the string representation
  37946. func (s DescribeBundleTasksInput) GoString() string {
  37947. return s.String()
  37948. }
  37949. // SetBundleIds sets the BundleIds field's value.
  37950. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  37951. s.BundleIds = v
  37952. return s
  37953. }
  37954. // SetDryRun sets the DryRun field's value.
  37955. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  37956. s.DryRun = &v
  37957. return s
  37958. }
  37959. // SetFilters sets the Filters field's value.
  37960. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  37961. s.Filters = v
  37962. return s
  37963. }
  37964. // Contains the output of DescribeBundleTasks.
  37965. type DescribeBundleTasksOutput struct {
  37966. _ struct{} `type:"structure"`
  37967. // Information about one or more bundle tasks.
  37968. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  37969. }
  37970. // String returns the string representation
  37971. func (s DescribeBundleTasksOutput) String() string {
  37972. return awsutil.Prettify(s)
  37973. }
  37974. // GoString returns the string representation
  37975. func (s DescribeBundleTasksOutput) GoString() string {
  37976. return s.String()
  37977. }
  37978. // SetBundleTasks sets the BundleTasks field's value.
  37979. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  37980. s.BundleTasks = v
  37981. return s
  37982. }
  37983. type DescribeByoipCidrsInput struct {
  37984. _ struct{} `type:"structure"`
  37985. // Checks whether you have the required permissions for the action, without
  37986. // actually making the request, and provides an error response. If you have
  37987. // the required permissions, the error response is DryRunOperation. Otherwise,
  37988. // it is UnauthorizedOperation.
  37989. DryRun *bool `type:"boolean"`
  37990. // The maximum number of results to return with a single call. To retrieve the
  37991. // remaining results, make another call with the returned nextToken value.
  37992. //
  37993. // MaxResults is a required field
  37994. MaxResults *int64 `min:"5" type:"integer" required:"true"`
  37995. // The token for the next page of results.
  37996. NextToken *string `min:"1" type:"string"`
  37997. }
  37998. // String returns the string representation
  37999. func (s DescribeByoipCidrsInput) String() string {
  38000. return awsutil.Prettify(s)
  38001. }
  38002. // GoString returns the string representation
  38003. func (s DescribeByoipCidrsInput) GoString() string {
  38004. return s.String()
  38005. }
  38006. // Validate inspects the fields of the type to determine if they are valid.
  38007. func (s *DescribeByoipCidrsInput) Validate() error {
  38008. invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
  38009. if s.MaxResults == nil {
  38010. invalidParams.Add(request.NewErrParamRequired("MaxResults"))
  38011. }
  38012. if s.MaxResults != nil && *s.MaxResults < 5 {
  38013. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38014. }
  38015. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38016. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38017. }
  38018. if invalidParams.Len() > 0 {
  38019. return invalidParams
  38020. }
  38021. return nil
  38022. }
  38023. // SetDryRun sets the DryRun field's value.
  38024. func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
  38025. s.DryRun = &v
  38026. return s
  38027. }
  38028. // SetMaxResults sets the MaxResults field's value.
  38029. func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
  38030. s.MaxResults = &v
  38031. return s
  38032. }
  38033. // SetNextToken sets the NextToken field's value.
  38034. func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
  38035. s.NextToken = &v
  38036. return s
  38037. }
  38038. type DescribeByoipCidrsOutput struct {
  38039. _ struct{} `type:"structure"`
  38040. // Information about your address ranges.
  38041. ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
  38042. // The token to use to retrieve the next page of results. This value is null
  38043. // when there are no more results to return.
  38044. NextToken *string `locationName:"nextToken" type:"string"`
  38045. }
  38046. // String returns the string representation
  38047. func (s DescribeByoipCidrsOutput) String() string {
  38048. return awsutil.Prettify(s)
  38049. }
  38050. // GoString returns the string representation
  38051. func (s DescribeByoipCidrsOutput) GoString() string {
  38052. return s.String()
  38053. }
  38054. // SetByoipCidrs sets the ByoipCidrs field's value.
  38055. func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
  38056. s.ByoipCidrs = v
  38057. return s
  38058. }
  38059. // SetNextToken sets the NextToken field's value.
  38060. func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
  38061. s.NextToken = &v
  38062. return s
  38063. }
  38064. type DescribeCapacityReservationsInput struct {
  38065. _ struct{} `type:"structure"`
  38066. // The ID of the Capacity Reservation.
  38067. CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
  38068. // Checks whether you have the required permissions for the action, without
  38069. // actually making the request, and provides an error response. If you have
  38070. // the required permissions, the error response is DryRunOperation. Otherwise,
  38071. // it is UnauthorizedOperation.
  38072. DryRun *bool `type:"boolean"`
  38073. // One or more filters.
  38074. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38075. // The maximum number of results to return for the request in a single page.
  38076. // The remaining results can be seen by sending another request with the returned
  38077. // nextToken value.
  38078. MaxResults *int64 `type:"integer"`
  38079. // The token to retrieve the next page of results.
  38080. NextToken *string `type:"string"`
  38081. }
  38082. // String returns the string representation
  38083. func (s DescribeCapacityReservationsInput) String() string {
  38084. return awsutil.Prettify(s)
  38085. }
  38086. // GoString returns the string representation
  38087. func (s DescribeCapacityReservationsInput) GoString() string {
  38088. return s.String()
  38089. }
  38090. // SetCapacityReservationIds sets the CapacityReservationIds field's value.
  38091. func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
  38092. s.CapacityReservationIds = v
  38093. return s
  38094. }
  38095. // SetDryRun sets the DryRun field's value.
  38096. func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
  38097. s.DryRun = &v
  38098. return s
  38099. }
  38100. // SetFilters sets the Filters field's value.
  38101. func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
  38102. s.Filters = v
  38103. return s
  38104. }
  38105. // SetMaxResults sets the MaxResults field's value.
  38106. func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
  38107. s.MaxResults = &v
  38108. return s
  38109. }
  38110. // SetNextToken sets the NextToken field's value.
  38111. func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
  38112. s.NextToken = &v
  38113. return s
  38114. }
  38115. type DescribeCapacityReservationsOutput struct {
  38116. _ struct{} `type:"structure"`
  38117. // Information about the Capacity Reservations.
  38118. CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
  38119. // The token to use to retrieve the next page of results. This value is null
  38120. // when there are no more results to return.
  38121. NextToken *string `locationName:"nextToken" type:"string"`
  38122. }
  38123. // String returns the string representation
  38124. func (s DescribeCapacityReservationsOutput) String() string {
  38125. return awsutil.Prettify(s)
  38126. }
  38127. // GoString returns the string representation
  38128. func (s DescribeCapacityReservationsOutput) GoString() string {
  38129. return s.String()
  38130. }
  38131. // SetCapacityReservations sets the CapacityReservations field's value.
  38132. func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
  38133. s.CapacityReservations = v
  38134. return s
  38135. }
  38136. // SetNextToken sets the NextToken field's value.
  38137. func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
  38138. s.NextToken = &v
  38139. return s
  38140. }
  38141. type DescribeClassicLinkInstancesInput struct {
  38142. _ struct{} `type:"structure"`
  38143. // Checks whether you have the required permissions for the action, without
  38144. // actually making the request, and provides an error response. If you have
  38145. // the required permissions, the error response is DryRunOperation. Otherwise,
  38146. // it is UnauthorizedOperation.
  38147. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38148. // One or more filters.
  38149. //
  38150. // * group-id - The ID of a VPC security group that's associated with the
  38151. // instance.
  38152. //
  38153. // * instance-id - The ID of the instance.
  38154. //
  38155. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  38156. // Use the tag key in the filter name and the tag value as the filter value.
  38157. // For example, to find all resources that have a tag with the key Owner
  38158. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  38159. // the filter value.
  38160. //
  38161. // * tag-key - The key of a tag assigned to the resource. Use this filter
  38162. // to find all resources assigned a tag with a specific key, regardless of
  38163. // the tag value.
  38164. //
  38165. // * vpc-id - The ID of the VPC to which the instance is linked.
  38166. //
  38167. // vpc-id - The ID of the VPC that the instance is linked to.
  38168. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38169. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  38170. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  38171. // The maximum number of results to return with a single call. To retrieve the
  38172. // remaining results, make another call with the returned nextToken value.
  38173. //
  38174. // Constraint: If the value is greater than 1000, we return only 1000 items.
  38175. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  38176. // The token for the next page of results.
  38177. NextToken *string `locationName:"nextToken" type:"string"`
  38178. }
  38179. // String returns the string representation
  38180. func (s DescribeClassicLinkInstancesInput) String() string {
  38181. return awsutil.Prettify(s)
  38182. }
  38183. // GoString returns the string representation
  38184. func (s DescribeClassicLinkInstancesInput) GoString() string {
  38185. return s.String()
  38186. }
  38187. // SetDryRun sets the DryRun field's value.
  38188. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  38189. s.DryRun = &v
  38190. return s
  38191. }
  38192. // SetFilters sets the Filters field's value.
  38193. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  38194. s.Filters = v
  38195. return s
  38196. }
  38197. // SetInstanceIds sets the InstanceIds field's value.
  38198. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  38199. s.InstanceIds = v
  38200. return s
  38201. }
  38202. // SetMaxResults sets the MaxResults field's value.
  38203. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  38204. s.MaxResults = &v
  38205. return s
  38206. }
  38207. // SetNextToken sets the NextToken field's value.
  38208. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  38209. s.NextToken = &v
  38210. return s
  38211. }
  38212. type DescribeClassicLinkInstancesOutput struct {
  38213. _ struct{} `type:"structure"`
  38214. // Information about one or more linked EC2-Classic instances.
  38215. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  38216. // The token to use to retrieve the next page of results. This value is null
  38217. // when there are no more results to return.
  38218. NextToken *string `locationName:"nextToken" type:"string"`
  38219. }
  38220. // String returns the string representation
  38221. func (s DescribeClassicLinkInstancesOutput) String() string {
  38222. return awsutil.Prettify(s)
  38223. }
  38224. // GoString returns the string representation
  38225. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  38226. return s.String()
  38227. }
  38228. // SetInstances sets the Instances field's value.
  38229. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  38230. s.Instances = v
  38231. return s
  38232. }
  38233. // SetNextToken sets the NextToken field's value.
  38234. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  38235. s.NextToken = &v
  38236. return s
  38237. }
  38238. type DescribeClientVpnAuthorizationRulesInput struct {
  38239. _ struct{} `type:"structure"`
  38240. // The ID of the Client VPN endpoint.
  38241. //
  38242. // ClientVpnEndpointId is a required field
  38243. ClientVpnEndpointId *string `type:"string" required:"true"`
  38244. // Checks whether you have the required permissions for the action, without
  38245. // actually making the request, and provides an error response. If you have
  38246. // the required permissions, the error response is DryRunOperation. Otherwise,
  38247. // it is UnauthorizedOperation.
  38248. DryRun *bool `type:"boolean"`
  38249. // One or more filters. Filter names and values are case-sensitive.
  38250. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38251. // The maximum number of results to return for the request in a single page.
  38252. // The remaining results can be seen by sending another request with the nextToken
  38253. // value.
  38254. MaxResults *int64 `min:"5" type:"integer"`
  38255. // The token to retrieve the next page of results.
  38256. NextToken *string `min:"1" type:"string"`
  38257. }
  38258. // String returns the string representation
  38259. func (s DescribeClientVpnAuthorizationRulesInput) String() string {
  38260. return awsutil.Prettify(s)
  38261. }
  38262. // GoString returns the string representation
  38263. func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
  38264. return s.String()
  38265. }
  38266. // Validate inspects the fields of the type to determine if they are valid.
  38267. func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
  38268. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
  38269. if s.ClientVpnEndpointId == nil {
  38270. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  38271. }
  38272. if s.MaxResults != nil && *s.MaxResults < 5 {
  38273. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38274. }
  38275. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38276. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38277. }
  38278. if invalidParams.Len() > 0 {
  38279. return invalidParams
  38280. }
  38281. return nil
  38282. }
  38283. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  38284. func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
  38285. s.ClientVpnEndpointId = &v
  38286. return s
  38287. }
  38288. // SetDryRun sets the DryRun field's value.
  38289. func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
  38290. s.DryRun = &v
  38291. return s
  38292. }
  38293. // SetFilters sets the Filters field's value.
  38294. func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
  38295. s.Filters = v
  38296. return s
  38297. }
  38298. // SetMaxResults sets the MaxResults field's value.
  38299. func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
  38300. s.MaxResults = &v
  38301. return s
  38302. }
  38303. // SetNextToken sets the NextToken field's value.
  38304. func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
  38305. s.NextToken = &v
  38306. return s
  38307. }
  38308. type DescribeClientVpnAuthorizationRulesOutput struct {
  38309. _ struct{} `type:"structure"`
  38310. // Information about the authorization rules.
  38311. AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
  38312. // The token to use to retrieve the next page of results. This value is null
  38313. // when there are no more results to return.
  38314. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  38315. }
  38316. // String returns the string representation
  38317. func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
  38318. return awsutil.Prettify(s)
  38319. }
  38320. // GoString returns the string representation
  38321. func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
  38322. return s.String()
  38323. }
  38324. // SetAuthorizationRules sets the AuthorizationRules field's value.
  38325. func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
  38326. s.AuthorizationRules = v
  38327. return s
  38328. }
  38329. // SetNextToken sets the NextToken field's value.
  38330. func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
  38331. s.NextToken = &v
  38332. return s
  38333. }
  38334. type DescribeClientVpnConnectionsInput struct {
  38335. _ struct{} `type:"structure"`
  38336. // The ID of the Client VPN endpoint.
  38337. //
  38338. // ClientVpnEndpointId is a required field
  38339. ClientVpnEndpointId *string `type:"string" required:"true"`
  38340. // Checks whether you have the required permissions for the action, without
  38341. // actually making the request, and provides an error response. If you have
  38342. // the required permissions, the error response is DryRunOperation. Otherwise,
  38343. // it is UnauthorizedOperation.
  38344. DryRun *bool `type:"boolean"`
  38345. // One or more filters. Filter names and values are case-sensitive.
  38346. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38347. // The maximum number of results to return for the request in a single page.
  38348. // The remaining results can be seen by sending another request with the nextToken
  38349. // value.
  38350. MaxResults *int64 `min:"5" type:"integer"`
  38351. // The token to retrieve the next page of results.
  38352. NextToken *string `min:"1" type:"string"`
  38353. }
  38354. // String returns the string representation
  38355. func (s DescribeClientVpnConnectionsInput) String() string {
  38356. return awsutil.Prettify(s)
  38357. }
  38358. // GoString returns the string representation
  38359. func (s DescribeClientVpnConnectionsInput) GoString() string {
  38360. return s.String()
  38361. }
  38362. // Validate inspects the fields of the type to determine if they are valid.
  38363. func (s *DescribeClientVpnConnectionsInput) Validate() error {
  38364. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
  38365. if s.ClientVpnEndpointId == nil {
  38366. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  38367. }
  38368. if s.MaxResults != nil && *s.MaxResults < 5 {
  38369. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38370. }
  38371. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38372. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38373. }
  38374. if invalidParams.Len() > 0 {
  38375. return invalidParams
  38376. }
  38377. return nil
  38378. }
  38379. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  38380. func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
  38381. s.ClientVpnEndpointId = &v
  38382. return s
  38383. }
  38384. // SetDryRun sets the DryRun field's value.
  38385. func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
  38386. s.DryRun = &v
  38387. return s
  38388. }
  38389. // SetFilters sets the Filters field's value.
  38390. func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
  38391. s.Filters = v
  38392. return s
  38393. }
  38394. // SetMaxResults sets the MaxResults field's value.
  38395. func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
  38396. s.MaxResults = &v
  38397. return s
  38398. }
  38399. // SetNextToken sets the NextToken field's value.
  38400. func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
  38401. s.NextToken = &v
  38402. return s
  38403. }
  38404. type DescribeClientVpnConnectionsOutput struct {
  38405. _ struct{} `type:"structure"`
  38406. // Information about the active and terminated client connections.
  38407. Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
  38408. // The token to use to retrieve the next page of results. This value is null
  38409. // when there are no more results to return.
  38410. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  38411. }
  38412. // String returns the string representation
  38413. func (s DescribeClientVpnConnectionsOutput) String() string {
  38414. return awsutil.Prettify(s)
  38415. }
  38416. // GoString returns the string representation
  38417. func (s DescribeClientVpnConnectionsOutput) GoString() string {
  38418. return s.String()
  38419. }
  38420. // SetConnections sets the Connections field's value.
  38421. func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
  38422. s.Connections = v
  38423. return s
  38424. }
  38425. // SetNextToken sets the NextToken field's value.
  38426. func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
  38427. s.NextToken = &v
  38428. return s
  38429. }
  38430. type DescribeClientVpnEndpointsInput struct {
  38431. _ struct{} `type:"structure"`
  38432. // The ID of the Client VPN endpoint.
  38433. ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
  38434. // Checks whether you have the required permissions for the action, without
  38435. // actually making the request, and provides an error response. If you have
  38436. // the required permissions, the error response is DryRunOperation. Otherwise,
  38437. // it is UnauthorizedOperation.
  38438. DryRun *bool `type:"boolean"`
  38439. // One or more filters. Filter names and values are case-sensitive.
  38440. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38441. // The maximum number of results to return for the request in a single page.
  38442. // The remaining results can be seen by sending another request with the nextToken
  38443. // value.
  38444. MaxResults *int64 `min:"5" type:"integer"`
  38445. // The token to retrieve the next page of results.
  38446. NextToken *string `min:"1" type:"string"`
  38447. }
  38448. // String returns the string representation
  38449. func (s DescribeClientVpnEndpointsInput) String() string {
  38450. return awsutil.Prettify(s)
  38451. }
  38452. // GoString returns the string representation
  38453. func (s DescribeClientVpnEndpointsInput) GoString() string {
  38454. return s.String()
  38455. }
  38456. // Validate inspects the fields of the type to determine if they are valid.
  38457. func (s *DescribeClientVpnEndpointsInput) Validate() error {
  38458. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
  38459. if s.MaxResults != nil && *s.MaxResults < 5 {
  38460. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38461. }
  38462. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38463. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38464. }
  38465. if invalidParams.Len() > 0 {
  38466. return invalidParams
  38467. }
  38468. return nil
  38469. }
  38470. // SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
  38471. func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
  38472. s.ClientVpnEndpointIds = v
  38473. return s
  38474. }
  38475. // SetDryRun sets the DryRun field's value.
  38476. func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
  38477. s.DryRun = &v
  38478. return s
  38479. }
  38480. // SetFilters sets the Filters field's value.
  38481. func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
  38482. s.Filters = v
  38483. return s
  38484. }
  38485. // SetMaxResults sets the MaxResults field's value.
  38486. func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
  38487. s.MaxResults = &v
  38488. return s
  38489. }
  38490. // SetNextToken sets the NextToken field's value.
  38491. func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
  38492. s.NextToken = &v
  38493. return s
  38494. }
  38495. type DescribeClientVpnEndpointsOutput struct {
  38496. _ struct{} `type:"structure"`
  38497. // Information about the Client VPN endpoints.
  38498. ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
  38499. // The token to use to retrieve the next page of results. This value is null
  38500. // when there are no more results to return.
  38501. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  38502. }
  38503. // String returns the string representation
  38504. func (s DescribeClientVpnEndpointsOutput) String() string {
  38505. return awsutil.Prettify(s)
  38506. }
  38507. // GoString returns the string representation
  38508. func (s DescribeClientVpnEndpointsOutput) GoString() string {
  38509. return s.String()
  38510. }
  38511. // SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
  38512. func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
  38513. s.ClientVpnEndpoints = v
  38514. return s
  38515. }
  38516. // SetNextToken sets the NextToken field's value.
  38517. func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
  38518. s.NextToken = &v
  38519. return s
  38520. }
  38521. type DescribeClientVpnRoutesInput struct {
  38522. _ struct{} `type:"structure"`
  38523. // The ID of the Client VPN endpoint.
  38524. //
  38525. // ClientVpnEndpointId is a required field
  38526. ClientVpnEndpointId *string `type:"string" required:"true"`
  38527. // Checks whether you have the required permissions for the action, without
  38528. // actually making the request, and provides an error response. If you have
  38529. // the required permissions, the error response is DryRunOperation. Otherwise,
  38530. // it is UnauthorizedOperation.
  38531. DryRun *bool `type:"boolean"`
  38532. // One or more filters. Filter names and values are case-sensitive.
  38533. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38534. // The maximum number of results to return for the request in a single page.
  38535. // The remaining results can be seen by sending another request with the nextToken
  38536. // value.
  38537. MaxResults *int64 `min:"5" type:"integer"`
  38538. // The token to retrieve the next page of results.
  38539. NextToken *string `min:"1" type:"string"`
  38540. }
  38541. // String returns the string representation
  38542. func (s DescribeClientVpnRoutesInput) String() string {
  38543. return awsutil.Prettify(s)
  38544. }
  38545. // GoString returns the string representation
  38546. func (s DescribeClientVpnRoutesInput) GoString() string {
  38547. return s.String()
  38548. }
  38549. // Validate inspects the fields of the type to determine if they are valid.
  38550. func (s *DescribeClientVpnRoutesInput) Validate() error {
  38551. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
  38552. if s.ClientVpnEndpointId == nil {
  38553. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  38554. }
  38555. if s.MaxResults != nil && *s.MaxResults < 5 {
  38556. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38557. }
  38558. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38559. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38560. }
  38561. if invalidParams.Len() > 0 {
  38562. return invalidParams
  38563. }
  38564. return nil
  38565. }
  38566. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  38567. func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
  38568. s.ClientVpnEndpointId = &v
  38569. return s
  38570. }
  38571. // SetDryRun sets the DryRun field's value.
  38572. func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
  38573. s.DryRun = &v
  38574. return s
  38575. }
  38576. // SetFilters sets the Filters field's value.
  38577. func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
  38578. s.Filters = v
  38579. return s
  38580. }
  38581. // SetMaxResults sets the MaxResults field's value.
  38582. func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
  38583. s.MaxResults = &v
  38584. return s
  38585. }
  38586. // SetNextToken sets the NextToken field's value.
  38587. func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
  38588. s.NextToken = &v
  38589. return s
  38590. }
  38591. type DescribeClientVpnRoutesOutput struct {
  38592. _ struct{} `type:"structure"`
  38593. // The token to use to retrieve the next page of results. This value is null
  38594. // when there are no more results to return.
  38595. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  38596. // Information about the Client VPN endpoint routes.
  38597. Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
  38598. }
  38599. // String returns the string representation
  38600. func (s DescribeClientVpnRoutesOutput) String() string {
  38601. return awsutil.Prettify(s)
  38602. }
  38603. // GoString returns the string representation
  38604. func (s DescribeClientVpnRoutesOutput) GoString() string {
  38605. return s.String()
  38606. }
  38607. // SetNextToken sets the NextToken field's value.
  38608. func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
  38609. s.NextToken = &v
  38610. return s
  38611. }
  38612. // SetRoutes sets the Routes field's value.
  38613. func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
  38614. s.Routes = v
  38615. return s
  38616. }
  38617. type DescribeClientVpnTargetNetworksInput struct {
  38618. _ struct{} `type:"structure"`
  38619. // The IDs of the target network associations.
  38620. AssociationIds []*string `locationNameList:"item" type:"list"`
  38621. // The ID of the Client VPN endpoint.
  38622. //
  38623. // ClientVpnEndpointId is a required field
  38624. ClientVpnEndpointId *string `type:"string" required:"true"`
  38625. // Checks whether you have the required permissions for the action, without
  38626. // actually making the request, and provides an error response. If you have
  38627. // the required permissions, the error response is DryRunOperation. Otherwise,
  38628. // it is UnauthorizedOperation.
  38629. DryRun *bool `type:"boolean"`
  38630. // One or more filters. Filter names and values are case-sensitive.
  38631. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38632. // The maximum number of results to return for the request in a single page.
  38633. // The remaining results can be seen by sending another request with the nextToken
  38634. // value.
  38635. MaxResults *int64 `min:"5" type:"integer"`
  38636. // The token to retrieve the next page of results.
  38637. NextToken *string `min:"1" type:"string"`
  38638. }
  38639. // String returns the string representation
  38640. func (s DescribeClientVpnTargetNetworksInput) String() string {
  38641. return awsutil.Prettify(s)
  38642. }
  38643. // GoString returns the string representation
  38644. func (s DescribeClientVpnTargetNetworksInput) GoString() string {
  38645. return s.String()
  38646. }
  38647. // Validate inspects the fields of the type to determine if they are valid.
  38648. func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
  38649. invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
  38650. if s.ClientVpnEndpointId == nil {
  38651. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  38652. }
  38653. if s.MaxResults != nil && *s.MaxResults < 5 {
  38654. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  38655. }
  38656. if s.NextToken != nil && len(*s.NextToken) < 1 {
  38657. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  38658. }
  38659. if invalidParams.Len() > 0 {
  38660. return invalidParams
  38661. }
  38662. return nil
  38663. }
  38664. // SetAssociationIds sets the AssociationIds field's value.
  38665. func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
  38666. s.AssociationIds = v
  38667. return s
  38668. }
  38669. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  38670. func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
  38671. s.ClientVpnEndpointId = &v
  38672. return s
  38673. }
  38674. // SetDryRun sets the DryRun field's value.
  38675. func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
  38676. s.DryRun = &v
  38677. return s
  38678. }
  38679. // SetFilters sets the Filters field's value.
  38680. func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
  38681. s.Filters = v
  38682. return s
  38683. }
  38684. // SetMaxResults sets the MaxResults field's value.
  38685. func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
  38686. s.MaxResults = &v
  38687. return s
  38688. }
  38689. // SetNextToken sets the NextToken field's value.
  38690. func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
  38691. s.NextToken = &v
  38692. return s
  38693. }
  38694. type DescribeClientVpnTargetNetworksOutput struct {
  38695. _ struct{} `type:"structure"`
  38696. // Information about the associated target networks.
  38697. ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
  38698. // The token to use to retrieve the next page of results. This value is null
  38699. // when there are no more results to return.
  38700. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  38701. }
  38702. // String returns the string representation
  38703. func (s DescribeClientVpnTargetNetworksOutput) String() string {
  38704. return awsutil.Prettify(s)
  38705. }
  38706. // GoString returns the string representation
  38707. func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
  38708. return s.String()
  38709. }
  38710. // SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
  38711. func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
  38712. s.ClientVpnTargetNetworks = v
  38713. return s
  38714. }
  38715. // SetNextToken sets the NextToken field's value.
  38716. func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
  38717. s.NextToken = &v
  38718. return s
  38719. }
  38720. // Contains the parameters for DescribeConversionTasks.
  38721. type DescribeConversionTasksInput struct {
  38722. _ struct{} `type:"structure"`
  38723. // One or more conversion task IDs.
  38724. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  38725. // Checks whether you have the required permissions for the action, without
  38726. // actually making the request, and provides an error response. If you have
  38727. // the required permissions, the error response is DryRunOperation. Otherwise,
  38728. // it is UnauthorizedOperation.
  38729. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38730. }
  38731. // String returns the string representation
  38732. func (s DescribeConversionTasksInput) String() string {
  38733. return awsutil.Prettify(s)
  38734. }
  38735. // GoString returns the string representation
  38736. func (s DescribeConversionTasksInput) GoString() string {
  38737. return s.String()
  38738. }
  38739. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  38740. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  38741. s.ConversionTaskIds = v
  38742. return s
  38743. }
  38744. // SetDryRun sets the DryRun field's value.
  38745. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  38746. s.DryRun = &v
  38747. return s
  38748. }
  38749. // Contains the output for DescribeConversionTasks.
  38750. type DescribeConversionTasksOutput struct {
  38751. _ struct{} `type:"structure"`
  38752. // Information about the conversion tasks.
  38753. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  38754. }
  38755. // String returns the string representation
  38756. func (s DescribeConversionTasksOutput) String() string {
  38757. return awsutil.Prettify(s)
  38758. }
  38759. // GoString returns the string representation
  38760. func (s DescribeConversionTasksOutput) GoString() string {
  38761. return s.String()
  38762. }
  38763. // SetConversionTasks sets the ConversionTasks field's value.
  38764. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  38765. s.ConversionTasks = v
  38766. return s
  38767. }
  38768. // Contains the parameters for DescribeCustomerGateways.
  38769. type DescribeCustomerGatewaysInput struct {
  38770. _ struct{} `type:"structure"`
  38771. // One or more customer gateway IDs.
  38772. //
  38773. // Default: Describes all your customer gateways.
  38774. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  38775. // Checks whether you have the required permissions for the action, without
  38776. // actually making the request, and provides an error response. If you have
  38777. // the required permissions, the error response is DryRunOperation. Otherwise,
  38778. // it is UnauthorizedOperation.
  38779. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38780. // One or more filters.
  38781. //
  38782. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  38783. // System Number (ASN).
  38784. //
  38785. // * customer-gateway-id - The ID of the customer gateway.
  38786. //
  38787. // * ip-address - The IP address of the customer gateway's Internet-routable
  38788. // external interface.
  38789. //
  38790. // * state - The state of the customer gateway (pending | available | deleting
  38791. // | deleted).
  38792. //
  38793. // * type - The type of customer gateway. Currently, the only supported type
  38794. // is ipsec.1.
  38795. //
  38796. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  38797. // Use the tag key in the filter name and the tag value as the filter value.
  38798. // For example, to find all resources that have a tag with the key Owner
  38799. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  38800. // the filter value.
  38801. //
  38802. // * tag-key - The key of a tag assigned to the resource. Use this filter
  38803. // to find all resources assigned a tag with a specific key, regardless of
  38804. // the tag value.
  38805. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38806. }
  38807. // String returns the string representation
  38808. func (s DescribeCustomerGatewaysInput) String() string {
  38809. return awsutil.Prettify(s)
  38810. }
  38811. // GoString returns the string representation
  38812. func (s DescribeCustomerGatewaysInput) GoString() string {
  38813. return s.String()
  38814. }
  38815. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  38816. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  38817. s.CustomerGatewayIds = v
  38818. return s
  38819. }
  38820. // SetDryRun sets the DryRun field's value.
  38821. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  38822. s.DryRun = &v
  38823. return s
  38824. }
  38825. // SetFilters sets the Filters field's value.
  38826. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  38827. s.Filters = v
  38828. return s
  38829. }
  38830. // Contains the output of DescribeCustomerGateways.
  38831. type DescribeCustomerGatewaysOutput struct {
  38832. _ struct{} `type:"structure"`
  38833. // Information about one or more customer gateways.
  38834. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  38835. }
  38836. // String returns the string representation
  38837. func (s DescribeCustomerGatewaysOutput) String() string {
  38838. return awsutil.Prettify(s)
  38839. }
  38840. // GoString returns the string representation
  38841. func (s DescribeCustomerGatewaysOutput) GoString() string {
  38842. return s.String()
  38843. }
  38844. // SetCustomerGateways sets the CustomerGateways field's value.
  38845. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  38846. s.CustomerGateways = v
  38847. return s
  38848. }
  38849. type DescribeDhcpOptionsInput struct {
  38850. _ struct{} `type:"structure"`
  38851. // The IDs of one or more DHCP options sets.
  38852. //
  38853. // Default: Describes all your DHCP options sets.
  38854. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  38855. // Checks whether you have the required permissions for the action, without
  38856. // actually making the request, and provides an error response. If you have
  38857. // the required permissions, the error response is DryRunOperation. Otherwise,
  38858. // it is UnauthorizedOperation.
  38859. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38860. // One or more filters.
  38861. //
  38862. // * dhcp-options-id - The ID of a DHCP options set.
  38863. //
  38864. // * key - The key for one of the options (for example, domain-name).
  38865. //
  38866. // * value - The value for one of the options.
  38867. //
  38868. // * owner-id - The ID of the AWS account that owns the DHCP options set.
  38869. //
  38870. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  38871. // Use the tag key in the filter name and the tag value as the filter value.
  38872. // For example, to find all resources that have a tag with the key Owner
  38873. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  38874. // the filter value.
  38875. //
  38876. // * tag-key - The key of a tag assigned to the resource. Use this filter
  38877. // to find all resources assigned a tag with a specific key, regardless of
  38878. // the tag value.
  38879. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  38880. }
  38881. // String returns the string representation
  38882. func (s DescribeDhcpOptionsInput) String() string {
  38883. return awsutil.Prettify(s)
  38884. }
  38885. // GoString returns the string representation
  38886. func (s DescribeDhcpOptionsInput) GoString() string {
  38887. return s.String()
  38888. }
  38889. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  38890. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  38891. s.DhcpOptionsIds = v
  38892. return s
  38893. }
  38894. // SetDryRun sets the DryRun field's value.
  38895. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  38896. s.DryRun = &v
  38897. return s
  38898. }
  38899. // SetFilters sets the Filters field's value.
  38900. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  38901. s.Filters = v
  38902. return s
  38903. }
  38904. type DescribeDhcpOptionsOutput struct {
  38905. _ struct{} `type:"structure"`
  38906. // Information about one or more DHCP options sets.
  38907. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  38908. }
  38909. // String returns the string representation
  38910. func (s DescribeDhcpOptionsOutput) String() string {
  38911. return awsutil.Prettify(s)
  38912. }
  38913. // GoString returns the string representation
  38914. func (s DescribeDhcpOptionsOutput) GoString() string {
  38915. return s.String()
  38916. }
  38917. // SetDhcpOptions sets the DhcpOptions field's value.
  38918. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  38919. s.DhcpOptions = v
  38920. return s
  38921. }
  38922. type DescribeEgressOnlyInternetGatewaysInput struct {
  38923. _ struct{} `type:"structure"`
  38924. // Checks whether you have the required permissions for the action, without
  38925. // actually making the request, and provides an error response. If you have
  38926. // the required permissions, the error response is DryRunOperation. Otherwise,
  38927. // it is UnauthorizedOperation.
  38928. DryRun *bool `type:"boolean"`
  38929. // One or more egress-only internet gateway IDs.
  38930. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  38931. // The maximum number of results to return with a single call. To retrieve the
  38932. // remaining results, make another call with the returned nextToken value.
  38933. MaxResults *int64 `type:"integer"`
  38934. // The token for the next page of results.
  38935. NextToken *string `type:"string"`
  38936. }
  38937. // String returns the string representation
  38938. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  38939. return awsutil.Prettify(s)
  38940. }
  38941. // GoString returns the string representation
  38942. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  38943. return s.String()
  38944. }
  38945. // SetDryRun sets the DryRun field's value.
  38946. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  38947. s.DryRun = &v
  38948. return s
  38949. }
  38950. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  38951. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  38952. s.EgressOnlyInternetGatewayIds = v
  38953. return s
  38954. }
  38955. // SetMaxResults sets the MaxResults field's value.
  38956. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  38957. s.MaxResults = &v
  38958. return s
  38959. }
  38960. // SetNextToken sets the NextToken field's value.
  38961. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  38962. s.NextToken = &v
  38963. return s
  38964. }
  38965. type DescribeEgressOnlyInternetGatewaysOutput struct {
  38966. _ struct{} `type:"structure"`
  38967. // Information about the egress-only internet gateways.
  38968. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  38969. // The token to use to retrieve the next page of results. This value is null
  38970. // when there are no more results to return.
  38971. NextToken *string `locationName:"nextToken" type:"string"`
  38972. }
  38973. // String returns the string representation
  38974. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  38975. return awsutil.Prettify(s)
  38976. }
  38977. // GoString returns the string representation
  38978. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  38979. return s.String()
  38980. }
  38981. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  38982. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  38983. s.EgressOnlyInternetGateways = v
  38984. return s
  38985. }
  38986. // SetNextToken sets the NextToken field's value.
  38987. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  38988. s.NextToken = &v
  38989. return s
  38990. }
  38991. type DescribeElasticGpusInput struct {
  38992. _ struct{} `type:"structure"`
  38993. // Checks whether you have the required permissions for the action, without
  38994. // actually making the request, and provides an error response. If you have
  38995. // the required permissions, the error response is DryRunOperation. Otherwise,
  38996. // it is UnauthorizedOperation.
  38997. DryRun *bool `type:"boolean"`
  38998. // One or more Elastic Graphics accelerator IDs.
  38999. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
  39000. // One or more filters.
  39001. //
  39002. // * availability-zone - The Availability Zone in which the Elastic Graphics
  39003. // accelerator resides.
  39004. //
  39005. // * elastic-gpu-health - The status of the Elastic Graphics accelerator
  39006. // (OK | IMPAIRED).
  39007. //
  39008. // * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
  39009. //
  39010. // * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
  39011. // eg1.medium.
  39012. //
  39013. // * instance-id - The ID of the instance to which the Elastic Graphics accelerator
  39014. // is associated.
  39015. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  39016. // The maximum number of results to return in a single call. To retrieve the
  39017. // remaining results, make another call with the returned NextToken value. This
  39018. // value can be between 5 and 1000.
  39019. MaxResults *int64 `type:"integer"`
  39020. // The token to request the next page of results.
  39021. NextToken *string `type:"string"`
  39022. }
  39023. // String returns the string representation
  39024. func (s DescribeElasticGpusInput) String() string {
  39025. return awsutil.Prettify(s)
  39026. }
  39027. // GoString returns the string representation
  39028. func (s DescribeElasticGpusInput) GoString() string {
  39029. return s.String()
  39030. }
  39031. // SetDryRun sets the DryRun field's value.
  39032. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
  39033. s.DryRun = &v
  39034. return s
  39035. }
  39036. // SetElasticGpuIds sets the ElasticGpuIds field's value.
  39037. func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
  39038. s.ElasticGpuIds = v
  39039. return s
  39040. }
  39041. // SetFilters sets the Filters field's value.
  39042. func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
  39043. s.Filters = v
  39044. return s
  39045. }
  39046. // SetMaxResults sets the MaxResults field's value.
  39047. func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
  39048. s.MaxResults = &v
  39049. return s
  39050. }
  39051. // SetNextToken sets the NextToken field's value.
  39052. func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
  39053. s.NextToken = &v
  39054. return s
  39055. }
  39056. type DescribeElasticGpusOutput struct {
  39057. _ struct{} `type:"structure"`
  39058. // Information about the Elastic Graphics accelerators.
  39059. ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
  39060. // The total number of items to return. If the total number of items available
  39061. // is more than the value specified in max-items then a Next-Token will be provided
  39062. // in the output that you can use to resume pagination.
  39063. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  39064. // The token to use to retrieve the next page of results. This value is null
  39065. // when there are no more results to return.
  39066. NextToken *string `locationName:"nextToken" type:"string"`
  39067. }
  39068. // String returns the string representation
  39069. func (s DescribeElasticGpusOutput) String() string {
  39070. return awsutil.Prettify(s)
  39071. }
  39072. // GoString returns the string representation
  39073. func (s DescribeElasticGpusOutput) GoString() string {
  39074. return s.String()
  39075. }
  39076. // SetElasticGpuSet sets the ElasticGpuSet field's value.
  39077. func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
  39078. s.ElasticGpuSet = v
  39079. return s
  39080. }
  39081. // SetMaxResults sets the MaxResults field's value.
  39082. func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
  39083. s.MaxResults = &v
  39084. return s
  39085. }
  39086. // SetNextToken sets the NextToken field's value.
  39087. func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
  39088. s.NextToken = &v
  39089. return s
  39090. }
  39091. // Contains the parameters for DescribeExportTasks.
  39092. type DescribeExportTasksInput struct {
  39093. _ struct{} `type:"structure"`
  39094. // One or more export task IDs.
  39095. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  39096. }
  39097. // String returns the string representation
  39098. func (s DescribeExportTasksInput) String() string {
  39099. return awsutil.Prettify(s)
  39100. }
  39101. // GoString returns the string representation
  39102. func (s DescribeExportTasksInput) GoString() string {
  39103. return s.String()
  39104. }
  39105. // SetExportTaskIds sets the ExportTaskIds field's value.
  39106. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  39107. s.ExportTaskIds = v
  39108. return s
  39109. }
  39110. // Contains the output for DescribeExportTasks.
  39111. type DescribeExportTasksOutput struct {
  39112. _ struct{} `type:"structure"`
  39113. // Information about the export tasks.
  39114. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  39115. }
  39116. // String returns the string representation
  39117. func (s DescribeExportTasksOutput) String() string {
  39118. return awsutil.Prettify(s)
  39119. }
  39120. // GoString returns the string representation
  39121. func (s DescribeExportTasksOutput) GoString() string {
  39122. return s.String()
  39123. }
  39124. // SetExportTasks sets the ExportTasks field's value.
  39125. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  39126. s.ExportTasks = v
  39127. return s
  39128. }
  39129. // Describes the instances that could not be launched by the fleet.
  39130. type DescribeFleetError struct {
  39131. _ struct{} `type:"structure"`
  39132. // The error code that indicates why the instance could not be launched. For
  39133. // more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  39134. ErrorCode *string `locationName:"errorCode" type:"string"`
  39135. // The error message that describes why the instance could not be launched.
  39136. // For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
  39137. ErrorMessage *string `locationName:"errorMessage" type:"string"`
  39138. // The launch templates and overrides that were used for launching the instances.
  39139. // Any parameters that you specify in the Overrides override the same parameters
  39140. // in the launch template.
  39141. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  39142. // Indicates if the instance that could not be launched was a Spot Instance
  39143. // or On-Demand Instance.
  39144. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  39145. }
  39146. // String returns the string representation
  39147. func (s DescribeFleetError) String() string {
  39148. return awsutil.Prettify(s)
  39149. }
  39150. // GoString returns the string representation
  39151. func (s DescribeFleetError) GoString() string {
  39152. return s.String()
  39153. }
  39154. // SetErrorCode sets the ErrorCode field's value.
  39155. func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
  39156. s.ErrorCode = &v
  39157. return s
  39158. }
  39159. // SetErrorMessage sets the ErrorMessage field's value.
  39160. func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
  39161. s.ErrorMessage = &v
  39162. return s
  39163. }
  39164. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  39165. func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
  39166. s.LaunchTemplateAndOverrides = v
  39167. return s
  39168. }
  39169. // SetLifecycle sets the Lifecycle field's value.
  39170. func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
  39171. s.Lifecycle = &v
  39172. return s
  39173. }
  39174. type DescribeFleetHistoryInput struct {
  39175. _ struct{} `type:"structure"`
  39176. // Checks whether you have the required permissions for the action, without
  39177. // actually making the request, and provides an error response. If you have
  39178. // the required permissions, the error response is DryRunOperation. Otherwise,
  39179. // it is UnauthorizedOperation.
  39180. DryRun *bool `type:"boolean"`
  39181. // The type of events to describe. By default, all events are described.
  39182. EventType *string `type:"string" enum:"FleetEventType"`
  39183. // The ID of the EC2 Fleet.
  39184. //
  39185. // FleetId is a required field
  39186. FleetId *string `type:"string" required:"true"`
  39187. // The maximum number of results to return in a single call. Specify a value
  39188. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  39189. // results, make another call with the returned NextToken value.
  39190. MaxResults *int64 `type:"integer"`
  39191. // The token for the next set of results.
  39192. NextToken *string `type:"string"`
  39193. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39194. //
  39195. // StartTime is a required field
  39196. StartTime *time.Time `type:"timestamp" required:"true"`
  39197. }
  39198. // String returns the string representation
  39199. func (s DescribeFleetHistoryInput) String() string {
  39200. return awsutil.Prettify(s)
  39201. }
  39202. // GoString returns the string representation
  39203. func (s DescribeFleetHistoryInput) GoString() string {
  39204. return s.String()
  39205. }
  39206. // Validate inspects the fields of the type to determine if they are valid.
  39207. func (s *DescribeFleetHistoryInput) Validate() error {
  39208. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
  39209. if s.FleetId == nil {
  39210. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  39211. }
  39212. if s.StartTime == nil {
  39213. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  39214. }
  39215. if invalidParams.Len() > 0 {
  39216. return invalidParams
  39217. }
  39218. return nil
  39219. }
  39220. // SetDryRun sets the DryRun field's value.
  39221. func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
  39222. s.DryRun = &v
  39223. return s
  39224. }
  39225. // SetEventType sets the EventType field's value.
  39226. func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
  39227. s.EventType = &v
  39228. return s
  39229. }
  39230. // SetFleetId sets the FleetId field's value.
  39231. func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
  39232. s.FleetId = &v
  39233. return s
  39234. }
  39235. // SetMaxResults sets the MaxResults field's value.
  39236. func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
  39237. s.MaxResults = &v
  39238. return s
  39239. }
  39240. // SetNextToken sets the NextToken field's value.
  39241. func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
  39242. s.NextToken = &v
  39243. return s
  39244. }
  39245. // SetStartTime sets the StartTime field's value.
  39246. func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
  39247. s.StartTime = &v
  39248. return s
  39249. }
  39250. type DescribeFleetHistoryOutput struct {
  39251. _ struct{} `type:"structure"`
  39252. // The ID of the EC Fleet.
  39253. FleetId *string `locationName:"fleetId" type:"string"`
  39254. // Information about the events in the history of the EC2 Fleet.
  39255. HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
  39256. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39257. // All records up to this time were retrieved.
  39258. //
  39259. // If nextToken indicates that there are more results, this value is not present.
  39260. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
  39261. // The token for the next set of results.
  39262. NextToken *string `locationName:"nextToken" type:"string"`
  39263. // The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39264. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  39265. }
  39266. // String returns the string representation
  39267. func (s DescribeFleetHistoryOutput) String() string {
  39268. return awsutil.Prettify(s)
  39269. }
  39270. // GoString returns the string representation
  39271. func (s DescribeFleetHistoryOutput) GoString() string {
  39272. return s.String()
  39273. }
  39274. // SetFleetId sets the FleetId field's value.
  39275. func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
  39276. s.FleetId = &v
  39277. return s
  39278. }
  39279. // SetHistoryRecords sets the HistoryRecords field's value.
  39280. func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
  39281. s.HistoryRecords = v
  39282. return s
  39283. }
  39284. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  39285. func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
  39286. s.LastEvaluatedTime = &v
  39287. return s
  39288. }
  39289. // SetNextToken sets the NextToken field's value.
  39290. func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
  39291. s.NextToken = &v
  39292. return s
  39293. }
  39294. // SetStartTime sets the StartTime field's value.
  39295. func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
  39296. s.StartTime = &v
  39297. return s
  39298. }
  39299. type DescribeFleetInstancesInput struct {
  39300. _ struct{} `type:"structure"`
  39301. // Checks whether you have the required permissions for the action, without
  39302. // actually making the request, and provides an error response. If you have
  39303. // the required permissions, the error response is DryRunOperation. Otherwise,
  39304. // it is UnauthorizedOperation.
  39305. DryRun *bool `type:"boolean"`
  39306. // One or more filters.
  39307. //
  39308. // * instance-type - The instance type.
  39309. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  39310. // The ID of the EC2 Fleet.
  39311. //
  39312. // FleetId is a required field
  39313. FleetId *string `type:"string" required:"true"`
  39314. // The maximum number of results to return in a single call. Specify a value
  39315. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  39316. // results, make another call with the returned NextToken value.
  39317. MaxResults *int64 `type:"integer"`
  39318. // The token for the next set of results.
  39319. NextToken *string `type:"string"`
  39320. }
  39321. // String returns the string representation
  39322. func (s DescribeFleetInstancesInput) String() string {
  39323. return awsutil.Prettify(s)
  39324. }
  39325. // GoString returns the string representation
  39326. func (s DescribeFleetInstancesInput) GoString() string {
  39327. return s.String()
  39328. }
  39329. // Validate inspects the fields of the type to determine if they are valid.
  39330. func (s *DescribeFleetInstancesInput) Validate() error {
  39331. invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
  39332. if s.FleetId == nil {
  39333. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  39334. }
  39335. if invalidParams.Len() > 0 {
  39336. return invalidParams
  39337. }
  39338. return nil
  39339. }
  39340. // SetDryRun sets the DryRun field's value.
  39341. func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
  39342. s.DryRun = &v
  39343. return s
  39344. }
  39345. // SetFilters sets the Filters field's value.
  39346. func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
  39347. s.Filters = v
  39348. return s
  39349. }
  39350. // SetFleetId sets the FleetId field's value.
  39351. func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
  39352. s.FleetId = &v
  39353. return s
  39354. }
  39355. // SetMaxResults sets the MaxResults field's value.
  39356. func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
  39357. s.MaxResults = &v
  39358. return s
  39359. }
  39360. // SetNextToken sets the NextToken field's value.
  39361. func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
  39362. s.NextToken = &v
  39363. return s
  39364. }
  39365. type DescribeFleetInstancesOutput struct {
  39366. _ struct{} `type:"structure"`
  39367. // The running instances. This list is refreshed periodically and might be out
  39368. // of date.
  39369. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
  39370. // The ID of the EC2 Fleet.
  39371. FleetId *string `locationName:"fleetId" type:"string"`
  39372. // The token for the next set of results.
  39373. NextToken *string `locationName:"nextToken" type:"string"`
  39374. }
  39375. // String returns the string representation
  39376. func (s DescribeFleetInstancesOutput) String() string {
  39377. return awsutil.Prettify(s)
  39378. }
  39379. // GoString returns the string representation
  39380. func (s DescribeFleetInstancesOutput) GoString() string {
  39381. return s.String()
  39382. }
  39383. // SetActiveInstances sets the ActiveInstances field's value.
  39384. func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
  39385. s.ActiveInstances = v
  39386. return s
  39387. }
  39388. // SetFleetId sets the FleetId field's value.
  39389. func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
  39390. s.FleetId = &v
  39391. return s
  39392. }
  39393. // SetNextToken sets the NextToken field's value.
  39394. func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
  39395. s.NextToken = &v
  39396. return s
  39397. }
  39398. type DescribeFleetsInput struct {
  39399. _ struct{} `type:"structure"`
  39400. // Checks whether you have the required permissions for the action, without
  39401. // actually making the request, and provides an error response. If you have
  39402. // the required permissions, the error response is DryRunOperation. Otherwise,
  39403. // it is UnauthorizedOperation.
  39404. DryRun *bool `type:"boolean"`
  39405. // One or more filters.
  39406. //
  39407. // * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
  39408. // | pending-termination | fulfilled).
  39409. //
  39410. // * excess-capacity-termination-policy - Indicates whether to terminate
  39411. // running instances if the target capacity is decreased below the current
  39412. // EC2 Fleet size (true | false).
  39413. //
  39414. // * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
  39415. // | failed | deleted-running | deleted-terminating | modifying).
  39416. //
  39417. // * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
  39418. // unhealthy instances (true | false).
  39419. //
  39420. // * type - The type of request (instant | request | maintain).
  39421. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  39422. // The ID of the EC2 Fleets.
  39423. FleetIds []*string `locationName:"FleetId" type:"list"`
  39424. // The maximum number of results to return in a single call. Specify a value
  39425. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  39426. // results, make another call with the returned NextToken value.
  39427. MaxResults *int64 `type:"integer"`
  39428. // The token for the next set of results.
  39429. NextToken *string `type:"string"`
  39430. }
  39431. // String returns the string representation
  39432. func (s DescribeFleetsInput) String() string {
  39433. return awsutil.Prettify(s)
  39434. }
  39435. // GoString returns the string representation
  39436. func (s DescribeFleetsInput) GoString() string {
  39437. return s.String()
  39438. }
  39439. // SetDryRun sets the DryRun field's value.
  39440. func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
  39441. s.DryRun = &v
  39442. return s
  39443. }
  39444. // SetFilters sets the Filters field's value.
  39445. func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
  39446. s.Filters = v
  39447. return s
  39448. }
  39449. // SetFleetIds sets the FleetIds field's value.
  39450. func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
  39451. s.FleetIds = v
  39452. return s
  39453. }
  39454. // SetMaxResults sets the MaxResults field's value.
  39455. func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
  39456. s.MaxResults = &v
  39457. return s
  39458. }
  39459. // SetNextToken sets the NextToken field's value.
  39460. func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
  39461. s.NextToken = &v
  39462. return s
  39463. }
  39464. // Describes the instances that were launched by the fleet.
  39465. type DescribeFleetsInstances struct {
  39466. _ struct{} `type:"structure"`
  39467. // The IDs of the instances.
  39468. InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
  39469. // The instance type.
  39470. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  39471. // The launch templates and overrides that were used for launching the instances.
  39472. // Any parameters that you specify in the Overrides override the same parameters
  39473. // in the launch template.
  39474. LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
  39475. // Indicates if the instance that was launched is a Spot Instance or On-Demand
  39476. // Instance.
  39477. Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
  39478. // The value is Windows for Windows instances; otherwise blank.
  39479. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  39480. }
  39481. // String returns the string representation
  39482. func (s DescribeFleetsInstances) String() string {
  39483. return awsutil.Prettify(s)
  39484. }
  39485. // GoString returns the string representation
  39486. func (s DescribeFleetsInstances) GoString() string {
  39487. return s.String()
  39488. }
  39489. // SetInstanceIds sets the InstanceIds field's value.
  39490. func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
  39491. s.InstanceIds = v
  39492. return s
  39493. }
  39494. // SetInstanceType sets the InstanceType field's value.
  39495. func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
  39496. s.InstanceType = &v
  39497. return s
  39498. }
  39499. // SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
  39500. func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
  39501. s.LaunchTemplateAndOverrides = v
  39502. return s
  39503. }
  39504. // SetLifecycle sets the Lifecycle field's value.
  39505. func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
  39506. s.Lifecycle = &v
  39507. return s
  39508. }
  39509. // SetPlatform sets the Platform field's value.
  39510. func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
  39511. s.Platform = &v
  39512. return s
  39513. }
  39514. type DescribeFleetsOutput struct {
  39515. _ struct{} `type:"structure"`
  39516. // Information about the EC2 Fleets.
  39517. Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
  39518. // The token for the next set of results.
  39519. NextToken *string `locationName:"nextToken" type:"string"`
  39520. }
  39521. // String returns the string representation
  39522. func (s DescribeFleetsOutput) String() string {
  39523. return awsutil.Prettify(s)
  39524. }
  39525. // GoString returns the string representation
  39526. func (s DescribeFleetsOutput) GoString() string {
  39527. return s.String()
  39528. }
  39529. // SetFleets sets the Fleets field's value.
  39530. func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
  39531. s.Fleets = v
  39532. return s
  39533. }
  39534. // SetNextToken sets the NextToken field's value.
  39535. func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
  39536. s.NextToken = &v
  39537. return s
  39538. }
  39539. type DescribeFlowLogsInput struct {
  39540. _ struct{} `type:"structure"`
  39541. // Checks whether you have the required permissions for the action, without
  39542. // actually making the request, and provides an error response. If you have
  39543. // the required permissions, the error response is DryRunOperation. Otherwise,
  39544. // it is UnauthorizedOperation.
  39545. DryRun *bool `type:"boolean"`
  39546. // One or more filters.
  39547. //
  39548. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  39549. //
  39550. // * log-destination-type - The type of destination to which the flow log
  39551. // publishes data. Possible destination types include cloud-watch-logs and
  39552. // S3.
  39553. //
  39554. // * flow-log-id - The ID of the flow log.
  39555. //
  39556. // * log-group-name - The name of the log group.
  39557. //
  39558. // * resource-id - The ID of the VPC, subnet, or network interface.
  39559. //
  39560. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
  39561. Filter []*Filter `locationNameList:"Filter" type:"list"`
  39562. // One or more flow log IDs.
  39563. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  39564. // The maximum number of results to return with a single call. To retrieve the
  39565. // remaining results, make another call with the returned nextToken value.
  39566. MaxResults *int64 `type:"integer"`
  39567. // The token for the next page of results.
  39568. NextToken *string `type:"string"`
  39569. }
  39570. // String returns the string representation
  39571. func (s DescribeFlowLogsInput) String() string {
  39572. return awsutil.Prettify(s)
  39573. }
  39574. // GoString returns the string representation
  39575. func (s DescribeFlowLogsInput) GoString() string {
  39576. return s.String()
  39577. }
  39578. // SetDryRun sets the DryRun field's value.
  39579. func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
  39580. s.DryRun = &v
  39581. return s
  39582. }
  39583. // SetFilter sets the Filter field's value.
  39584. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  39585. s.Filter = v
  39586. return s
  39587. }
  39588. // SetFlowLogIds sets the FlowLogIds field's value.
  39589. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  39590. s.FlowLogIds = v
  39591. return s
  39592. }
  39593. // SetMaxResults sets the MaxResults field's value.
  39594. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  39595. s.MaxResults = &v
  39596. return s
  39597. }
  39598. // SetNextToken sets the NextToken field's value.
  39599. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  39600. s.NextToken = &v
  39601. return s
  39602. }
  39603. type DescribeFlowLogsOutput struct {
  39604. _ struct{} `type:"structure"`
  39605. // Information about the flow logs.
  39606. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  39607. // The token to use to retrieve the next page of results. This value is null
  39608. // when there are no more results to return.
  39609. NextToken *string `locationName:"nextToken" type:"string"`
  39610. }
  39611. // String returns the string representation
  39612. func (s DescribeFlowLogsOutput) String() string {
  39613. return awsutil.Prettify(s)
  39614. }
  39615. // GoString returns the string representation
  39616. func (s DescribeFlowLogsOutput) GoString() string {
  39617. return s.String()
  39618. }
  39619. // SetFlowLogs sets the FlowLogs field's value.
  39620. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  39621. s.FlowLogs = v
  39622. return s
  39623. }
  39624. // SetNextToken sets the NextToken field's value.
  39625. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  39626. s.NextToken = &v
  39627. return s
  39628. }
  39629. type DescribeFpgaImageAttributeInput struct {
  39630. _ struct{} `type:"structure"`
  39631. // The AFI attribute.
  39632. //
  39633. // Attribute is a required field
  39634. Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
  39635. // Checks whether you have the required permissions for the action, without
  39636. // actually making the request, and provides an error response. If you have
  39637. // the required permissions, the error response is DryRunOperation. Otherwise,
  39638. // it is UnauthorizedOperation.
  39639. DryRun *bool `type:"boolean"`
  39640. // The ID of the AFI.
  39641. //
  39642. // FpgaImageId is a required field
  39643. FpgaImageId *string `type:"string" required:"true"`
  39644. }
  39645. // String returns the string representation
  39646. func (s DescribeFpgaImageAttributeInput) String() string {
  39647. return awsutil.Prettify(s)
  39648. }
  39649. // GoString returns the string representation
  39650. func (s DescribeFpgaImageAttributeInput) GoString() string {
  39651. return s.String()
  39652. }
  39653. // Validate inspects the fields of the type to determine if they are valid.
  39654. func (s *DescribeFpgaImageAttributeInput) Validate() error {
  39655. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
  39656. if s.Attribute == nil {
  39657. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  39658. }
  39659. if s.FpgaImageId == nil {
  39660. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  39661. }
  39662. if invalidParams.Len() > 0 {
  39663. return invalidParams
  39664. }
  39665. return nil
  39666. }
  39667. // SetAttribute sets the Attribute field's value.
  39668. func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
  39669. s.Attribute = &v
  39670. return s
  39671. }
  39672. // SetDryRun sets the DryRun field's value.
  39673. func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
  39674. s.DryRun = &v
  39675. return s
  39676. }
  39677. // SetFpgaImageId sets the FpgaImageId field's value.
  39678. func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
  39679. s.FpgaImageId = &v
  39680. return s
  39681. }
  39682. type DescribeFpgaImageAttributeOutput struct {
  39683. _ struct{} `type:"structure"`
  39684. // Information about the attribute.
  39685. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  39686. }
  39687. // String returns the string representation
  39688. func (s DescribeFpgaImageAttributeOutput) String() string {
  39689. return awsutil.Prettify(s)
  39690. }
  39691. // GoString returns the string representation
  39692. func (s DescribeFpgaImageAttributeOutput) GoString() string {
  39693. return s.String()
  39694. }
  39695. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  39696. func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
  39697. s.FpgaImageAttribute = v
  39698. return s
  39699. }
  39700. type DescribeFpgaImagesInput struct {
  39701. _ struct{} `type:"structure"`
  39702. // Checks whether you have the required permissions for the action, without
  39703. // actually making the request, and provides an error response. If you have
  39704. // the required permissions, the error response is DryRunOperation. Otherwise,
  39705. // it is UnauthorizedOperation.
  39706. DryRun *bool `type:"boolean"`
  39707. // One or more filters.
  39708. //
  39709. // * create-time - The creation time of the AFI.
  39710. //
  39711. // * fpga-image-id - The FPGA image identifier (AFI ID).
  39712. //
  39713. // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
  39714. //
  39715. // * name - The name of the AFI.
  39716. //
  39717. // * owner-id - The AWS account ID of the AFI owner.
  39718. //
  39719. // * product-code - The product code.
  39720. //
  39721. // * shell-version - The version of the AWS Shell that was used to create
  39722. // the bitstream.
  39723. //
  39724. // * state - The state of the AFI (pending | failed | available | unavailable).
  39725. //
  39726. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  39727. // Use the tag key in the filter name and the tag value as the filter value.
  39728. // For example, to find all resources that have a tag with the key Owner
  39729. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  39730. // the filter value.
  39731. //
  39732. // * tag-key - The key of a tag assigned to the resource. Use this filter
  39733. // to find all resources assigned a tag with a specific key, regardless of
  39734. // the tag value.
  39735. //
  39736. // * update-time - The time of the most recent update.
  39737. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  39738. // One or more AFI IDs.
  39739. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
  39740. // The maximum number of results to return in a single call.
  39741. MaxResults *int64 `min:"5" type:"integer"`
  39742. // The token to retrieve the next page of results.
  39743. NextToken *string `min:"1" type:"string"`
  39744. // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
  39745. // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
  39746. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  39747. }
  39748. // String returns the string representation
  39749. func (s DescribeFpgaImagesInput) String() string {
  39750. return awsutil.Prettify(s)
  39751. }
  39752. // GoString returns the string representation
  39753. func (s DescribeFpgaImagesInput) GoString() string {
  39754. return s.String()
  39755. }
  39756. // Validate inspects the fields of the type to determine if they are valid.
  39757. func (s *DescribeFpgaImagesInput) Validate() error {
  39758. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
  39759. if s.MaxResults != nil && *s.MaxResults < 5 {
  39760. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  39761. }
  39762. if s.NextToken != nil && len(*s.NextToken) < 1 {
  39763. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  39764. }
  39765. if invalidParams.Len() > 0 {
  39766. return invalidParams
  39767. }
  39768. return nil
  39769. }
  39770. // SetDryRun sets the DryRun field's value.
  39771. func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
  39772. s.DryRun = &v
  39773. return s
  39774. }
  39775. // SetFilters sets the Filters field's value.
  39776. func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
  39777. s.Filters = v
  39778. return s
  39779. }
  39780. // SetFpgaImageIds sets the FpgaImageIds field's value.
  39781. func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
  39782. s.FpgaImageIds = v
  39783. return s
  39784. }
  39785. // SetMaxResults sets the MaxResults field's value.
  39786. func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
  39787. s.MaxResults = &v
  39788. return s
  39789. }
  39790. // SetNextToken sets the NextToken field's value.
  39791. func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
  39792. s.NextToken = &v
  39793. return s
  39794. }
  39795. // SetOwners sets the Owners field's value.
  39796. func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
  39797. s.Owners = v
  39798. return s
  39799. }
  39800. type DescribeFpgaImagesOutput struct {
  39801. _ struct{} `type:"structure"`
  39802. // Information about one or more FPGA images.
  39803. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
  39804. // The token to use to retrieve the next page of results. This value is null
  39805. // when there are no more results to return.
  39806. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  39807. }
  39808. // String returns the string representation
  39809. func (s DescribeFpgaImagesOutput) String() string {
  39810. return awsutil.Prettify(s)
  39811. }
  39812. // GoString returns the string representation
  39813. func (s DescribeFpgaImagesOutput) GoString() string {
  39814. return s.String()
  39815. }
  39816. // SetFpgaImages sets the FpgaImages field's value.
  39817. func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
  39818. s.FpgaImages = v
  39819. return s
  39820. }
  39821. // SetNextToken sets the NextToken field's value.
  39822. func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
  39823. s.NextToken = &v
  39824. return s
  39825. }
  39826. type DescribeHostReservationOfferingsInput struct {
  39827. _ struct{} `type:"structure"`
  39828. // One or more filters.
  39829. //
  39830. // * instance-family - The instance family of the offering (for example,
  39831. // m4).
  39832. //
  39833. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  39834. Filter []*Filter `locationNameList:"Filter" type:"list"`
  39835. // This is the maximum duration of the reservation to purchase, specified in
  39836. // seconds. Reservations are available in one-year and three-year terms. The
  39837. // number of seconds specified must be the number of seconds in a year (365x24x60x60)
  39838. // times one of the supported durations (1 or 3). For example, specify 94608000
  39839. // for three years.
  39840. MaxDuration *int64 `type:"integer"`
  39841. // The maximum number of results to return for the request in a single page.
  39842. // The remaining results can be seen by sending another request with the returned
  39843. // nextToken value. This value can be between 5 and 500. If maxResults is given
  39844. // a larger value than 500, you receive an error.
  39845. MaxResults *int64 `min:"5" type:"integer"`
  39846. // This is the minimum duration of the reservation you'd like to purchase, specified
  39847. // in seconds. Reservations are available in one-year and three-year terms.
  39848. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  39849. // times one of the supported durations (1 or 3). For example, specify 31536000
  39850. // for one year.
  39851. MinDuration *int64 `type:"integer"`
  39852. // The token to use to retrieve the next page of results.
  39853. NextToken *string `type:"string"`
  39854. // The ID of the reservation offering.
  39855. OfferingId *string `type:"string"`
  39856. }
  39857. // String returns the string representation
  39858. func (s DescribeHostReservationOfferingsInput) String() string {
  39859. return awsutil.Prettify(s)
  39860. }
  39861. // GoString returns the string representation
  39862. func (s DescribeHostReservationOfferingsInput) GoString() string {
  39863. return s.String()
  39864. }
  39865. // Validate inspects the fields of the type to determine if they are valid.
  39866. func (s *DescribeHostReservationOfferingsInput) Validate() error {
  39867. invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
  39868. if s.MaxResults != nil && *s.MaxResults < 5 {
  39869. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  39870. }
  39871. if invalidParams.Len() > 0 {
  39872. return invalidParams
  39873. }
  39874. return nil
  39875. }
  39876. // SetFilter sets the Filter field's value.
  39877. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  39878. s.Filter = v
  39879. return s
  39880. }
  39881. // SetMaxDuration sets the MaxDuration field's value.
  39882. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  39883. s.MaxDuration = &v
  39884. return s
  39885. }
  39886. // SetMaxResults sets the MaxResults field's value.
  39887. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  39888. s.MaxResults = &v
  39889. return s
  39890. }
  39891. // SetMinDuration sets the MinDuration field's value.
  39892. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  39893. s.MinDuration = &v
  39894. return s
  39895. }
  39896. // SetNextToken sets the NextToken field's value.
  39897. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  39898. s.NextToken = &v
  39899. return s
  39900. }
  39901. // SetOfferingId sets the OfferingId field's value.
  39902. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  39903. s.OfferingId = &v
  39904. return s
  39905. }
  39906. type DescribeHostReservationOfferingsOutput struct {
  39907. _ struct{} `type:"structure"`
  39908. // The token to use to retrieve the next page of results. This value is null
  39909. // when there are no more results to return.
  39910. NextToken *string `locationName:"nextToken" type:"string"`
  39911. // Information about the offerings.
  39912. OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
  39913. }
  39914. // String returns the string representation
  39915. func (s DescribeHostReservationOfferingsOutput) String() string {
  39916. return awsutil.Prettify(s)
  39917. }
  39918. // GoString returns the string representation
  39919. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  39920. return s.String()
  39921. }
  39922. // SetNextToken sets the NextToken field's value.
  39923. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  39924. s.NextToken = &v
  39925. return s
  39926. }
  39927. // SetOfferingSet sets the OfferingSet field's value.
  39928. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  39929. s.OfferingSet = v
  39930. return s
  39931. }
  39932. type DescribeHostReservationsInput struct {
  39933. _ struct{} `type:"structure"`
  39934. // One or more filters.
  39935. //
  39936. // * instance-family - The instance family (for example, m4).
  39937. //
  39938. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  39939. //
  39940. // * state - The state of the reservation (payment-pending | payment-failed
  39941. // | active | retired).
  39942. //
  39943. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  39944. // Use the tag key in the filter name and the tag value as the filter value.
  39945. // For example, to find all resources that have a tag with the key Owner
  39946. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  39947. // the filter value.
  39948. //
  39949. // * tag-key - The key of a tag assigned to the resource. Use this filter
  39950. // to find all resources assigned a tag with a specific key, regardless of
  39951. // the tag value.
  39952. Filter []*Filter `locationNameList:"Filter" type:"list"`
  39953. // One or more host reservation IDs.
  39954. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  39955. // The maximum number of results to return for the request in a single page.
  39956. // The remaining results can be seen by sending another request with the returned
  39957. // nextToken value. This value can be between 5 and 500. If maxResults is given
  39958. // a larger value than 500, you receive an error.
  39959. MaxResults *int64 `type:"integer"`
  39960. // The token to use to retrieve the next page of results.
  39961. NextToken *string `type:"string"`
  39962. }
  39963. // String returns the string representation
  39964. func (s DescribeHostReservationsInput) String() string {
  39965. return awsutil.Prettify(s)
  39966. }
  39967. // GoString returns the string representation
  39968. func (s DescribeHostReservationsInput) GoString() string {
  39969. return s.String()
  39970. }
  39971. // SetFilter sets the Filter field's value.
  39972. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  39973. s.Filter = v
  39974. return s
  39975. }
  39976. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  39977. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  39978. s.HostReservationIdSet = v
  39979. return s
  39980. }
  39981. // SetMaxResults sets the MaxResults field's value.
  39982. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  39983. s.MaxResults = &v
  39984. return s
  39985. }
  39986. // SetNextToken sets the NextToken field's value.
  39987. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  39988. s.NextToken = &v
  39989. return s
  39990. }
  39991. type DescribeHostReservationsOutput struct {
  39992. _ struct{} `type:"structure"`
  39993. // Details about the reservation's configuration.
  39994. HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
  39995. // The token to use to retrieve the next page of results. This value is null
  39996. // when there are no more results to return.
  39997. NextToken *string `locationName:"nextToken" type:"string"`
  39998. }
  39999. // String returns the string representation
  40000. func (s DescribeHostReservationsOutput) String() string {
  40001. return awsutil.Prettify(s)
  40002. }
  40003. // GoString returns the string representation
  40004. func (s DescribeHostReservationsOutput) GoString() string {
  40005. return s.String()
  40006. }
  40007. // SetHostReservationSet sets the HostReservationSet field's value.
  40008. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  40009. s.HostReservationSet = v
  40010. return s
  40011. }
  40012. // SetNextToken sets the NextToken field's value.
  40013. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  40014. s.NextToken = &v
  40015. return s
  40016. }
  40017. type DescribeHostsInput struct {
  40018. _ struct{} `type:"structure"`
  40019. // One or more filters.
  40020. //
  40021. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  40022. // off).
  40023. //
  40024. // * availability-zone - The Availability Zone of the host.
  40025. //
  40026. // * client-token - The idempotency token that you provided when you allocated
  40027. // the host.
  40028. //
  40029. // * host-reservation-id - The ID of the reservation assigned to this host.
  40030. //
  40031. // * instance-type - The instance type size that the Dedicated Host is configured
  40032. // to support.
  40033. //
  40034. // * state - The allocation state of the Dedicated Host (available | under-assessment
  40035. // | permanent-failure | released | released-permanent-failure).
  40036. //
  40037. // * tag-key - The key of a tag assigned to the resource. Use this filter
  40038. // to find all resources assigned a tag with a specific key, regardless of
  40039. // the tag value.
  40040. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  40041. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  40042. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  40043. // The maximum number of results to return for the request in a single page.
  40044. // The remaining results can be seen by sending another request with the returned
  40045. // nextToken value. This value can be between 5 and 500. If maxResults is given
  40046. // a larger value than 500, you receive an error. You cannot specify this parameter
  40047. // and the host IDs parameter in the same request.
  40048. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  40049. // The token to retrieve the next page of results.
  40050. NextToken *string `locationName:"nextToken" type:"string"`
  40051. }
  40052. // String returns the string representation
  40053. func (s DescribeHostsInput) String() string {
  40054. return awsutil.Prettify(s)
  40055. }
  40056. // GoString returns the string representation
  40057. func (s DescribeHostsInput) GoString() string {
  40058. return s.String()
  40059. }
  40060. // SetFilter sets the Filter field's value.
  40061. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  40062. s.Filter = v
  40063. return s
  40064. }
  40065. // SetHostIds sets the HostIds field's value.
  40066. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  40067. s.HostIds = v
  40068. return s
  40069. }
  40070. // SetMaxResults sets the MaxResults field's value.
  40071. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  40072. s.MaxResults = &v
  40073. return s
  40074. }
  40075. // SetNextToken sets the NextToken field's value.
  40076. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  40077. s.NextToken = &v
  40078. return s
  40079. }
  40080. type DescribeHostsOutput struct {
  40081. _ struct{} `type:"structure"`
  40082. // Information about the Dedicated Hosts.
  40083. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  40084. // The token to use to retrieve the next page of results. This value is null
  40085. // when there are no more results to return.
  40086. NextToken *string `locationName:"nextToken" type:"string"`
  40087. }
  40088. // String returns the string representation
  40089. func (s DescribeHostsOutput) String() string {
  40090. return awsutil.Prettify(s)
  40091. }
  40092. // GoString returns the string representation
  40093. func (s DescribeHostsOutput) GoString() string {
  40094. return s.String()
  40095. }
  40096. // SetHosts sets the Hosts field's value.
  40097. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  40098. s.Hosts = v
  40099. return s
  40100. }
  40101. // SetNextToken sets the NextToken field's value.
  40102. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  40103. s.NextToken = &v
  40104. return s
  40105. }
  40106. type DescribeIamInstanceProfileAssociationsInput struct {
  40107. _ struct{} `type:"structure"`
  40108. // One or more IAM instance profile associations.
  40109. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  40110. // One or more filters.
  40111. //
  40112. // * instance-id - The ID of the instance.
  40113. //
  40114. // * state - The state of the association (associating | associated | disassociating
  40115. // | disassociated).
  40116. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  40117. // The maximum number of results to return in a single call. To retrieve the
  40118. // remaining results, make another call with the returned NextToken value.
  40119. MaxResults *int64 `min:"5" type:"integer"`
  40120. // The token to request the next page of results.
  40121. NextToken *string `min:"1" type:"string"`
  40122. }
  40123. // String returns the string representation
  40124. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  40125. return awsutil.Prettify(s)
  40126. }
  40127. // GoString returns the string representation
  40128. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  40129. return s.String()
  40130. }
  40131. // Validate inspects the fields of the type to determine if they are valid.
  40132. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  40133. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  40134. if s.MaxResults != nil && *s.MaxResults < 5 {
  40135. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  40136. }
  40137. if s.NextToken != nil && len(*s.NextToken) < 1 {
  40138. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  40139. }
  40140. if invalidParams.Len() > 0 {
  40141. return invalidParams
  40142. }
  40143. return nil
  40144. }
  40145. // SetAssociationIds sets the AssociationIds field's value.
  40146. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  40147. s.AssociationIds = v
  40148. return s
  40149. }
  40150. // SetFilters sets the Filters field's value.
  40151. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  40152. s.Filters = v
  40153. return s
  40154. }
  40155. // SetMaxResults sets the MaxResults field's value.
  40156. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  40157. s.MaxResults = &v
  40158. return s
  40159. }
  40160. // SetNextToken sets the NextToken field's value.
  40161. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  40162. s.NextToken = &v
  40163. return s
  40164. }
  40165. type DescribeIamInstanceProfileAssociationsOutput struct {
  40166. _ struct{} `type:"structure"`
  40167. // Information about one or more IAM instance profile associations.
  40168. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  40169. // The token to use to retrieve the next page of results. This value is null
  40170. // when there are no more results to return.
  40171. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  40172. }
  40173. // String returns the string representation
  40174. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  40175. return awsutil.Prettify(s)
  40176. }
  40177. // GoString returns the string representation
  40178. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  40179. return s.String()
  40180. }
  40181. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  40182. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  40183. s.IamInstanceProfileAssociations = v
  40184. return s
  40185. }
  40186. // SetNextToken sets the NextToken field's value.
  40187. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  40188. s.NextToken = &v
  40189. return s
  40190. }
  40191. type DescribeIdFormatInput struct {
  40192. _ struct{} `type:"structure"`
  40193. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  40194. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  40195. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  40196. // | network-interface | network-interface-attachment | prefix-list | reservation
  40197. // | route-table | route-table-association | security-group | snapshot | subnet
  40198. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  40199. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  40200. Resource *string `type:"string"`
  40201. }
  40202. // String returns the string representation
  40203. func (s DescribeIdFormatInput) String() string {
  40204. return awsutil.Prettify(s)
  40205. }
  40206. // GoString returns the string representation
  40207. func (s DescribeIdFormatInput) GoString() string {
  40208. return s.String()
  40209. }
  40210. // SetResource sets the Resource field's value.
  40211. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  40212. s.Resource = &v
  40213. return s
  40214. }
  40215. type DescribeIdFormatOutput struct {
  40216. _ struct{} `type:"structure"`
  40217. // Information about the ID format for the resource.
  40218. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  40219. }
  40220. // String returns the string representation
  40221. func (s DescribeIdFormatOutput) String() string {
  40222. return awsutil.Prettify(s)
  40223. }
  40224. // GoString returns the string representation
  40225. func (s DescribeIdFormatOutput) GoString() string {
  40226. return s.String()
  40227. }
  40228. // SetStatuses sets the Statuses field's value.
  40229. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  40230. s.Statuses = v
  40231. return s
  40232. }
  40233. type DescribeIdentityIdFormatInput struct {
  40234. _ struct{} `type:"structure"`
  40235. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  40236. // user.
  40237. //
  40238. // PrincipalArn is a required field
  40239. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  40240. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  40241. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  40242. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  40243. // | network-interface | network-interface-attachment | prefix-list | reservation
  40244. // | route-table | route-table-association | security-group | snapshot | subnet
  40245. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  40246. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  40247. Resource *string `locationName:"resource" type:"string"`
  40248. }
  40249. // String returns the string representation
  40250. func (s DescribeIdentityIdFormatInput) String() string {
  40251. return awsutil.Prettify(s)
  40252. }
  40253. // GoString returns the string representation
  40254. func (s DescribeIdentityIdFormatInput) GoString() string {
  40255. return s.String()
  40256. }
  40257. // Validate inspects the fields of the type to determine if they are valid.
  40258. func (s *DescribeIdentityIdFormatInput) Validate() error {
  40259. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  40260. if s.PrincipalArn == nil {
  40261. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  40262. }
  40263. if invalidParams.Len() > 0 {
  40264. return invalidParams
  40265. }
  40266. return nil
  40267. }
  40268. // SetPrincipalArn sets the PrincipalArn field's value.
  40269. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  40270. s.PrincipalArn = &v
  40271. return s
  40272. }
  40273. // SetResource sets the Resource field's value.
  40274. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  40275. s.Resource = &v
  40276. return s
  40277. }
  40278. type DescribeIdentityIdFormatOutput struct {
  40279. _ struct{} `type:"structure"`
  40280. // Information about the ID format for the resources.
  40281. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  40282. }
  40283. // String returns the string representation
  40284. func (s DescribeIdentityIdFormatOutput) String() string {
  40285. return awsutil.Prettify(s)
  40286. }
  40287. // GoString returns the string representation
  40288. func (s DescribeIdentityIdFormatOutput) GoString() string {
  40289. return s.String()
  40290. }
  40291. // SetStatuses sets the Statuses field's value.
  40292. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  40293. s.Statuses = v
  40294. return s
  40295. }
  40296. // Contains the parameters for DescribeImageAttribute.
  40297. type DescribeImageAttributeInput struct {
  40298. _ struct{} `type:"structure"`
  40299. // The AMI attribute.
  40300. //
  40301. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  40302. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  40303. // to get information about the block device mapping for the AMI.
  40304. //
  40305. // Attribute is a required field
  40306. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  40307. // Checks whether you have the required permissions for the action, without
  40308. // actually making the request, and provides an error response. If you have
  40309. // the required permissions, the error response is DryRunOperation. Otherwise,
  40310. // it is UnauthorizedOperation.
  40311. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40312. // The ID of the AMI.
  40313. //
  40314. // ImageId is a required field
  40315. ImageId *string `type:"string" required:"true"`
  40316. }
  40317. // String returns the string representation
  40318. func (s DescribeImageAttributeInput) String() string {
  40319. return awsutil.Prettify(s)
  40320. }
  40321. // GoString returns the string representation
  40322. func (s DescribeImageAttributeInput) GoString() string {
  40323. return s.String()
  40324. }
  40325. // Validate inspects the fields of the type to determine if they are valid.
  40326. func (s *DescribeImageAttributeInput) Validate() error {
  40327. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  40328. if s.Attribute == nil {
  40329. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  40330. }
  40331. if s.ImageId == nil {
  40332. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  40333. }
  40334. if invalidParams.Len() > 0 {
  40335. return invalidParams
  40336. }
  40337. return nil
  40338. }
  40339. // SetAttribute sets the Attribute field's value.
  40340. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  40341. s.Attribute = &v
  40342. return s
  40343. }
  40344. // SetDryRun sets the DryRun field's value.
  40345. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  40346. s.DryRun = &v
  40347. return s
  40348. }
  40349. // SetImageId sets the ImageId field's value.
  40350. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  40351. s.ImageId = &v
  40352. return s
  40353. }
  40354. // Describes an image attribute.
  40355. type DescribeImageAttributeOutput struct {
  40356. _ struct{} `type:"structure"`
  40357. // One or more block device mapping entries.
  40358. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  40359. // A description for the AMI.
  40360. Description *AttributeValue `locationName:"description" type:"structure"`
  40361. // The ID of the AMI.
  40362. ImageId *string `locationName:"imageId" type:"string"`
  40363. // The kernel ID.
  40364. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  40365. // One or more launch permissions.
  40366. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  40367. // One or more product codes.
  40368. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  40369. // The RAM disk ID.
  40370. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  40371. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  40372. // interface is enabled.
  40373. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  40374. }
  40375. // String returns the string representation
  40376. func (s DescribeImageAttributeOutput) String() string {
  40377. return awsutil.Prettify(s)
  40378. }
  40379. // GoString returns the string representation
  40380. func (s DescribeImageAttributeOutput) GoString() string {
  40381. return s.String()
  40382. }
  40383. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40384. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  40385. s.BlockDeviceMappings = v
  40386. return s
  40387. }
  40388. // SetDescription sets the Description field's value.
  40389. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  40390. s.Description = v
  40391. return s
  40392. }
  40393. // SetImageId sets the ImageId field's value.
  40394. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  40395. s.ImageId = &v
  40396. return s
  40397. }
  40398. // SetKernelId sets the KernelId field's value.
  40399. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  40400. s.KernelId = v
  40401. return s
  40402. }
  40403. // SetLaunchPermissions sets the LaunchPermissions field's value.
  40404. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  40405. s.LaunchPermissions = v
  40406. return s
  40407. }
  40408. // SetProductCodes sets the ProductCodes field's value.
  40409. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  40410. s.ProductCodes = v
  40411. return s
  40412. }
  40413. // SetRamdiskId sets the RamdiskId field's value.
  40414. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  40415. s.RamdiskId = v
  40416. return s
  40417. }
  40418. // SetSriovNetSupport sets the SriovNetSupport field's value.
  40419. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  40420. s.SriovNetSupport = v
  40421. return s
  40422. }
  40423. // Contains the parameters for DescribeImages.
  40424. type DescribeImagesInput struct {
  40425. _ struct{} `type:"structure"`
  40426. // Checks whether you have the required permissions for the action, without
  40427. // actually making the request, and provides an error response. If you have
  40428. // the required permissions, the error response is DryRunOperation. Otherwise,
  40429. // it is UnauthorizedOperation.
  40430. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40431. // Scopes the images by users with explicit launch permissions. Specify an AWS
  40432. // account ID, self (the sender of the request), or all (public AMIs).
  40433. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  40434. // One or more filters.
  40435. //
  40436. // * architecture - The image architecture (i386 | x86_64).
  40437. //
  40438. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  40439. // whether the Amazon EBS volume is deleted on instance termination.
  40440. //
  40441. // * block-device-mapping.device-name - The device name specified in the
  40442. // block device mapping (for example, /dev/sdh or xvdh).
  40443. //
  40444. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  40445. // EBS volume.
  40446. //
  40447. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  40448. // in GiB.
  40449. //
  40450. // * block-device-mapping.volume-type - The volume type of the EBS volume
  40451. // (gp2 | io1 | st1 | sc1 | standard).
  40452. //
  40453. // * block-device-mapping.encrypted - A Boolean that indicates whether the
  40454. // EBS volume is encrypted.
  40455. //
  40456. // * description - The description of the image (provided during image creation).
  40457. //
  40458. // * ena-support - A Boolean that indicates whether enhanced networking with
  40459. // ENA is enabled.
  40460. //
  40461. // * hypervisor - The hypervisor type (ovm | xen).
  40462. //
  40463. // * image-id - The ID of the image.
  40464. //
  40465. // * image-type - The image type (machine | kernel | ramdisk).
  40466. //
  40467. // * is-public - A Boolean that indicates whether the image is public.
  40468. //
  40469. // * kernel-id - The kernel ID.
  40470. //
  40471. // * manifest-location - The location of the image manifest.
  40472. //
  40473. // * name - The name of the AMI (provided during image creation).
  40474. //
  40475. // * owner-alias - String value from an Amazon-maintained list (amazon |
  40476. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  40477. // the user-configured AWS account alias, which is set from the IAM console.
  40478. //
  40479. // * owner-id - The AWS account ID of the image owner.
  40480. //
  40481. // * platform - The platform. To only list Windows-based AMIs, use windows.
  40482. //
  40483. // * product-code - The product code.
  40484. //
  40485. // * product-code.type - The type of the product code (devpay | marketplace).
  40486. //
  40487. // * ramdisk-id - The RAM disk ID.
  40488. //
  40489. // * root-device-name - The device name of the root device volume (for example,
  40490. // /dev/sda1).
  40491. //
  40492. // * root-device-type - The type of the root device volume (ebs | instance-store).
  40493. //
  40494. // * state - The state of the image (available | pending | failed).
  40495. //
  40496. // * state-reason-code - The reason code for the state change.
  40497. //
  40498. // * state-reason-message - The message for the state change.
  40499. //
  40500. // * sriov-net-support - A value of simple indicates that enhanced networking
  40501. // with the Intel 82599 VF interface is enabled.
  40502. //
  40503. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  40504. // Use the tag key in the filter name and the tag value as the filter value.
  40505. // For example, to find all resources that have a tag with the key Owner
  40506. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  40507. // the filter value.
  40508. //
  40509. // * tag-key - The key of a tag assigned to the resource. Use this filter
  40510. // to find all resources assigned a tag with a specific key, regardless of
  40511. // the tag value.
  40512. //
  40513. // * virtualization-type - The virtualization type (paravirtual | hvm).
  40514. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  40515. // One or more image IDs.
  40516. //
  40517. // Default: Describes all images available to you.
  40518. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  40519. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  40520. // the sender of the request), or an AWS owner alias (valid values are amazon
  40521. // | aws-marketplace | microsoft). Omitting this option returns all images for
  40522. // which you have launch permissions, regardless of ownership.
  40523. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  40524. }
  40525. // String returns the string representation
  40526. func (s DescribeImagesInput) String() string {
  40527. return awsutil.Prettify(s)
  40528. }
  40529. // GoString returns the string representation
  40530. func (s DescribeImagesInput) GoString() string {
  40531. return s.String()
  40532. }
  40533. // SetDryRun sets the DryRun field's value.
  40534. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  40535. s.DryRun = &v
  40536. return s
  40537. }
  40538. // SetExecutableUsers sets the ExecutableUsers field's value.
  40539. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  40540. s.ExecutableUsers = v
  40541. return s
  40542. }
  40543. // SetFilters sets the Filters field's value.
  40544. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  40545. s.Filters = v
  40546. return s
  40547. }
  40548. // SetImageIds sets the ImageIds field's value.
  40549. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  40550. s.ImageIds = v
  40551. return s
  40552. }
  40553. // SetOwners sets the Owners field's value.
  40554. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  40555. s.Owners = v
  40556. return s
  40557. }
  40558. // Contains the output of DescribeImages.
  40559. type DescribeImagesOutput struct {
  40560. _ struct{} `type:"structure"`
  40561. // Information about one or more images.
  40562. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  40563. }
  40564. // String returns the string representation
  40565. func (s DescribeImagesOutput) String() string {
  40566. return awsutil.Prettify(s)
  40567. }
  40568. // GoString returns the string representation
  40569. func (s DescribeImagesOutput) GoString() string {
  40570. return s.String()
  40571. }
  40572. // SetImages sets the Images field's value.
  40573. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  40574. s.Images = v
  40575. return s
  40576. }
  40577. // Contains the parameters for DescribeImportImageTasks.
  40578. type DescribeImportImageTasksInput struct {
  40579. _ struct{} `type:"structure"`
  40580. // Checks whether you have the required permissions for the action, without
  40581. // actually making the request, and provides an error response. If you have
  40582. // the required permissions, the error response is DryRunOperation. Otherwise,
  40583. // it is UnauthorizedOperation.
  40584. DryRun *bool `type:"boolean"`
  40585. // Filter tasks using the task-state filter and one of the following values:
  40586. // active, completed, deleting, deleted.
  40587. Filters []*Filter `locationNameList:"Filter" type:"list"`
  40588. // A list of import image task IDs.
  40589. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  40590. // The maximum number of results to return in a single call. To retrieve the
  40591. // remaining results, make another call with the returned NextToken value.
  40592. MaxResults *int64 `type:"integer"`
  40593. // A token that indicates the next page of results.
  40594. NextToken *string `type:"string"`
  40595. }
  40596. // String returns the string representation
  40597. func (s DescribeImportImageTasksInput) String() string {
  40598. return awsutil.Prettify(s)
  40599. }
  40600. // GoString returns the string representation
  40601. func (s DescribeImportImageTasksInput) GoString() string {
  40602. return s.String()
  40603. }
  40604. // SetDryRun sets the DryRun field's value.
  40605. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  40606. s.DryRun = &v
  40607. return s
  40608. }
  40609. // SetFilters sets the Filters field's value.
  40610. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  40611. s.Filters = v
  40612. return s
  40613. }
  40614. // SetImportTaskIds sets the ImportTaskIds field's value.
  40615. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  40616. s.ImportTaskIds = v
  40617. return s
  40618. }
  40619. // SetMaxResults sets the MaxResults field's value.
  40620. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  40621. s.MaxResults = &v
  40622. return s
  40623. }
  40624. // SetNextToken sets the NextToken field's value.
  40625. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  40626. s.NextToken = &v
  40627. return s
  40628. }
  40629. // Contains the output for DescribeImportImageTasks.
  40630. type DescribeImportImageTasksOutput struct {
  40631. _ struct{} `type:"structure"`
  40632. // A list of zero or more import image tasks that are currently active or were
  40633. // completed or canceled in the previous 7 days.
  40634. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  40635. // The token to use to get the next page of results. This value is null when
  40636. // there are no more results to return.
  40637. NextToken *string `locationName:"nextToken" type:"string"`
  40638. }
  40639. // String returns the string representation
  40640. func (s DescribeImportImageTasksOutput) String() string {
  40641. return awsutil.Prettify(s)
  40642. }
  40643. // GoString returns the string representation
  40644. func (s DescribeImportImageTasksOutput) GoString() string {
  40645. return s.String()
  40646. }
  40647. // SetImportImageTasks sets the ImportImageTasks field's value.
  40648. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  40649. s.ImportImageTasks = v
  40650. return s
  40651. }
  40652. // SetNextToken sets the NextToken field's value.
  40653. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  40654. s.NextToken = &v
  40655. return s
  40656. }
  40657. // Contains the parameters for DescribeImportSnapshotTasks.
  40658. type DescribeImportSnapshotTasksInput struct {
  40659. _ struct{} `type:"structure"`
  40660. // Checks whether you have the required permissions for the action, without
  40661. // actually making the request, and provides an error response. If you have
  40662. // the required permissions, the error response is DryRunOperation. Otherwise,
  40663. // it is UnauthorizedOperation.
  40664. DryRun *bool `type:"boolean"`
  40665. // One or more filters.
  40666. Filters []*Filter `locationNameList:"Filter" type:"list"`
  40667. // A list of import snapshot task IDs.
  40668. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  40669. // The maximum number of results to return in a single call. To retrieve the
  40670. // remaining results, make another call with the returned NextToken value.
  40671. MaxResults *int64 `type:"integer"`
  40672. // A token that indicates the next page of results.
  40673. NextToken *string `type:"string"`
  40674. }
  40675. // String returns the string representation
  40676. func (s DescribeImportSnapshotTasksInput) String() string {
  40677. return awsutil.Prettify(s)
  40678. }
  40679. // GoString returns the string representation
  40680. func (s DescribeImportSnapshotTasksInput) GoString() string {
  40681. return s.String()
  40682. }
  40683. // SetDryRun sets the DryRun field's value.
  40684. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  40685. s.DryRun = &v
  40686. return s
  40687. }
  40688. // SetFilters sets the Filters field's value.
  40689. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  40690. s.Filters = v
  40691. return s
  40692. }
  40693. // SetImportTaskIds sets the ImportTaskIds field's value.
  40694. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  40695. s.ImportTaskIds = v
  40696. return s
  40697. }
  40698. // SetMaxResults sets the MaxResults field's value.
  40699. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  40700. s.MaxResults = &v
  40701. return s
  40702. }
  40703. // SetNextToken sets the NextToken field's value.
  40704. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  40705. s.NextToken = &v
  40706. return s
  40707. }
  40708. // Contains the output for DescribeImportSnapshotTasks.
  40709. type DescribeImportSnapshotTasksOutput struct {
  40710. _ struct{} `type:"structure"`
  40711. // A list of zero or more import snapshot tasks that are currently active or
  40712. // were completed or canceled in the previous 7 days.
  40713. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  40714. // The token to use to get the next page of results. This value is null when
  40715. // there are no more results to return.
  40716. NextToken *string `locationName:"nextToken" type:"string"`
  40717. }
  40718. // String returns the string representation
  40719. func (s DescribeImportSnapshotTasksOutput) String() string {
  40720. return awsutil.Prettify(s)
  40721. }
  40722. // GoString returns the string representation
  40723. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  40724. return s.String()
  40725. }
  40726. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  40727. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  40728. s.ImportSnapshotTasks = v
  40729. return s
  40730. }
  40731. // SetNextToken sets the NextToken field's value.
  40732. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  40733. s.NextToken = &v
  40734. return s
  40735. }
  40736. type DescribeInstanceAttributeInput struct {
  40737. _ struct{} `type:"structure"`
  40738. // The instance attribute.
  40739. //
  40740. // Note: The enaSupport attribute is not supported at this time.
  40741. //
  40742. // Attribute is a required field
  40743. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  40744. // Checks whether you have the required permissions for the action, without
  40745. // actually making the request, and provides an error response. If you have
  40746. // the required permissions, the error response is DryRunOperation. Otherwise,
  40747. // it is UnauthorizedOperation.
  40748. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40749. // The ID of the instance.
  40750. //
  40751. // InstanceId is a required field
  40752. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  40753. }
  40754. // String returns the string representation
  40755. func (s DescribeInstanceAttributeInput) String() string {
  40756. return awsutil.Prettify(s)
  40757. }
  40758. // GoString returns the string representation
  40759. func (s DescribeInstanceAttributeInput) GoString() string {
  40760. return s.String()
  40761. }
  40762. // Validate inspects the fields of the type to determine if they are valid.
  40763. func (s *DescribeInstanceAttributeInput) Validate() error {
  40764. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  40765. if s.Attribute == nil {
  40766. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  40767. }
  40768. if s.InstanceId == nil {
  40769. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  40770. }
  40771. if invalidParams.Len() > 0 {
  40772. return invalidParams
  40773. }
  40774. return nil
  40775. }
  40776. // SetAttribute sets the Attribute field's value.
  40777. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  40778. s.Attribute = &v
  40779. return s
  40780. }
  40781. // SetDryRun sets the DryRun field's value.
  40782. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  40783. s.DryRun = &v
  40784. return s
  40785. }
  40786. // SetInstanceId sets the InstanceId field's value.
  40787. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  40788. s.InstanceId = &v
  40789. return s
  40790. }
  40791. // Describes an instance attribute.
  40792. type DescribeInstanceAttributeOutput struct {
  40793. _ struct{} `type:"structure"`
  40794. // The block device mapping of the instance.
  40795. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  40796. // If the value is true, you can't terminate the instance through the Amazon
  40797. // EC2 console, CLI, or API; otherwise, you can.
  40798. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  40799. // Indicates whether the instance is optimized for Amazon EBS I/O.
  40800. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  40801. // Indicates whether enhanced networking with ENA is enabled.
  40802. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  40803. // The security groups associated with the instance.
  40804. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  40805. // The ID of the instance.
  40806. InstanceId *string `locationName:"instanceId" type:"string"`
  40807. // Indicates whether an instance stops or terminates when you initiate shutdown
  40808. // from the instance (using the operating system command for system shutdown).
  40809. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  40810. // The instance type.
  40811. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  40812. // The kernel ID.
  40813. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  40814. // A list of product codes.
  40815. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  40816. // The RAM disk ID.
  40817. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  40818. // The device name of the root device volume (for example, /dev/sda1).
  40819. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  40820. // Indicates whether source/destination checking is enabled. A value of true
  40821. // means that checking is enabled, and false means that checking is disabled.
  40822. // This value must be false for a NAT instance to perform NAT.
  40823. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  40824. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  40825. // interface is enabled.
  40826. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  40827. // The user data.
  40828. UserData *AttributeValue `locationName:"userData" type:"structure"`
  40829. }
  40830. // String returns the string representation
  40831. func (s DescribeInstanceAttributeOutput) String() string {
  40832. return awsutil.Prettify(s)
  40833. }
  40834. // GoString returns the string representation
  40835. func (s DescribeInstanceAttributeOutput) GoString() string {
  40836. return s.String()
  40837. }
  40838. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40839. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  40840. s.BlockDeviceMappings = v
  40841. return s
  40842. }
  40843. // SetDisableApiTermination sets the DisableApiTermination field's value.
  40844. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  40845. s.DisableApiTermination = v
  40846. return s
  40847. }
  40848. // SetEbsOptimized sets the EbsOptimized field's value.
  40849. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  40850. s.EbsOptimized = v
  40851. return s
  40852. }
  40853. // SetEnaSupport sets the EnaSupport field's value.
  40854. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  40855. s.EnaSupport = v
  40856. return s
  40857. }
  40858. // SetGroups sets the Groups field's value.
  40859. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  40860. s.Groups = v
  40861. return s
  40862. }
  40863. // SetInstanceId sets the InstanceId field's value.
  40864. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  40865. s.InstanceId = &v
  40866. return s
  40867. }
  40868. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  40869. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40870. s.InstanceInitiatedShutdownBehavior = v
  40871. return s
  40872. }
  40873. // SetInstanceType sets the InstanceType field's value.
  40874. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40875. s.InstanceType = v
  40876. return s
  40877. }
  40878. // SetKernelId sets the KernelId field's value.
  40879. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40880. s.KernelId = v
  40881. return s
  40882. }
  40883. // SetProductCodes sets the ProductCodes field's value.
  40884. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  40885. s.ProductCodes = v
  40886. return s
  40887. }
  40888. // SetRamdiskId sets the RamdiskId field's value.
  40889. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40890. s.RamdiskId = v
  40891. return s
  40892. }
  40893. // SetRootDeviceName sets the RootDeviceName field's value.
  40894. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40895. s.RootDeviceName = v
  40896. return s
  40897. }
  40898. // SetSourceDestCheck sets the SourceDestCheck field's value.
  40899. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  40900. s.SourceDestCheck = v
  40901. return s
  40902. }
  40903. // SetSriovNetSupport sets the SriovNetSupport field's value.
  40904. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40905. s.SriovNetSupport = v
  40906. return s
  40907. }
  40908. // SetUserData sets the UserData field's value.
  40909. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  40910. s.UserData = v
  40911. return s
  40912. }
  40913. type DescribeInstanceCreditSpecificationsInput struct {
  40914. _ struct{} `type:"structure"`
  40915. // Checks whether you have the required permissions for the action, without
  40916. // actually making the request, and provides an error response. If you have
  40917. // the required permissions, the error response is DryRunOperation. Otherwise,
  40918. // it is UnauthorizedOperation.
  40919. DryRun *bool `type:"boolean"`
  40920. // One or more filters.
  40921. //
  40922. // * instance-id - The ID of the instance.
  40923. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  40924. // One or more instance IDs.
  40925. //
  40926. // Default: Describes all your instances.
  40927. //
  40928. // Constraints: Maximum 1000 explicitly specified instance IDs.
  40929. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  40930. // The maximum number of results to return in a single call. To retrieve the
  40931. // remaining results, make another call with the returned NextToken value. This
  40932. // value can be between 5 and 1000. You cannot specify this parameter and the
  40933. // instance IDs parameter in the same call.
  40934. MaxResults *int64 `min:"5" type:"integer"`
  40935. // The token to retrieve the next page of results.
  40936. NextToken *string `type:"string"`
  40937. }
  40938. // String returns the string representation
  40939. func (s DescribeInstanceCreditSpecificationsInput) String() string {
  40940. return awsutil.Prettify(s)
  40941. }
  40942. // GoString returns the string representation
  40943. func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
  40944. return s.String()
  40945. }
  40946. // Validate inspects the fields of the type to determine if they are valid.
  40947. func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
  40948. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
  40949. if s.MaxResults != nil && *s.MaxResults < 5 {
  40950. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  40951. }
  40952. if invalidParams.Len() > 0 {
  40953. return invalidParams
  40954. }
  40955. return nil
  40956. }
  40957. // SetDryRun sets the DryRun field's value.
  40958. func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
  40959. s.DryRun = &v
  40960. return s
  40961. }
  40962. // SetFilters sets the Filters field's value.
  40963. func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
  40964. s.Filters = v
  40965. return s
  40966. }
  40967. // SetInstanceIds sets the InstanceIds field's value.
  40968. func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
  40969. s.InstanceIds = v
  40970. return s
  40971. }
  40972. // SetMaxResults sets the MaxResults field's value.
  40973. func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
  40974. s.MaxResults = &v
  40975. return s
  40976. }
  40977. // SetNextToken sets the NextToken field's value.
  40978. func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
  40979. s.NextToken = &v
  40980. return s
  40981. }
  40982. type DescribeInstanceCreditSpecificationsOutput struct {
  40983. _ struct{} `type:"structure"`
  40984. // Information about the credit option for CPU usage of an instance.
  40985. InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  40986. // The token to use to retrieve the next page of results. This value is null
  40987. // when there are no more results to return.
  40988. NextToken *string `locationName:"nextToken" type:"string"`
  40989. }
  40990. // String returns the string representation
  40991. func (s DescribeInstanceCreditSpecificationsOutput) String() string {
  40992. return awsutil.Prettify(s)
  40993. }
  40994. // GoString returns the string representation
  40995. func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
  40996. return s.String()
  40997. }
  40998. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  40999. func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
  41000. s.InstanceCreditSpecifications = v
  41001. return s
  41002. }
  41003. // SetNextToken sets the NextToken field's value.
  41004. func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
  41005. s.NextToken = &v
  41006. return s
  41007. }
  41008. type DescribeInstanceStatusInput struct {
  41009. _ struct{} `type:"structure"`
  41010. // Checks whether you have the required permissions for the action, without
  41011. // actually making the request, and provides an error response. If you have
  41012. // the required permissions, the error response is DryRunOperation. Otherwise,
  41013. // it is UnauthorizedOperation.
  41014. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41015. // One or more filters.
  41016. //
  41017. // * availability-zone - The Availability Zone of the instance.
  41018. //
  41019. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  41020. // | system-maintenance | instance-retirement | instance-stop).
  41021. //
  41022. // * event.description - A description of the event.
  41023. //
  41024. // * event.instance-event-id - The ID of the event whose date and time you
  41025. // are modifying.
  41026. //
  41027. // * event.not-after - The latest end time for the scheduled event (for example,
  41028. // 2014-09-15T17:15:20.000Z).
  41029. //
  41030. // * event.not-before - The earliest start time for the scheduled event (for
  41031. // example, 2014-09-15T17:15:20.000Z).
  41032. //
  41033. // * event.not-before-deadline - The deadline for starting the event (for
  41034. // example, 2014-09-15T17:15:20.000Z).
  41035. //
  41036. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  41037. // integer. The high byte is used for internal purposes and should be ignored.
  41038. // The low byte is set based on the state represented. The valid values are
  41039. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  41040. // and 80 (stopped).
  41041. //
  41042. // * instance-state-name - The state of the instance (pending | running |
  41043. // shutting-down | terminated | stopping | stopped).
  41044. //
  41045. // * instance-status.reachability - Filters on instance status where the
  41046. // name is reachability (passed | failed | initializing | insufficient-data).
  41047. //
  41048. // * instance-status.status - The status of the instance (ok | impaired |
  41049. // initializing | insufficient-data | not-applicable).
  41050. //
  41051. // * system-status.reachability - Filters on system status where the name
  41052. // is reachability (passed | failed | initializing | insufficient-data).
  41053. //
  41054. // * system-status.status - The system status of the instance (ok | impaired
  41055. // | initializing | insufficient-data | not-applicable).
  41056. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41057. // When true, includes the health status for all instances. When false, includes
  41058. // the health status for running instances only.
  41059. //
  41060. // Default: false
  41061. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  41062. // One or more instance IDs.
  41063. //
  41064. // Default: Describes all your instances.
  41065. //
  41066. // Constraints: Maximum 100 explicitly specified instance IDs.
  41067. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  41068. // The maximum number of results to return in a single call. To retrieve the
  41069. // remaining results, make another call with the returned NextToken value. This
  41070. // value can be between 5 and 1000. You cannot specify this parameter and the
  41071. // instance IDs parameter in the same call.
  41072. MaxResults *int64 `type:"integer"`
  41073. // The token to retrieve the next page of results.
  41074. NextToken *string `type:"string"`
  41075. }
  41076. // String returns the string representation
  41077. func (s DescribeInstanceStatusInput) String() string {
  41078. return awsutil.Prettify(s)
  41079. }
  41080. // GoString returns the string representation
  41081. func (s DescribeInstanceStatusInput) GoString() string {
  41082. return s.String()
  41083. }
  41084. // SetDryRun sets the DryRun field's value.
  41085. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  41086. s.DryRun = &v
  41087. return s
  41088. }
  41089. // SetFilters sets the Filters field's value.
  41090. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  41091. s.Filters = v
  41092. return s
  41093. }
  41094. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  41095. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  41096. s.IncludeAllInstances = &v
  41097. return s
  41098. }
  41099. // SetInstanceIds sets the InstanceIds field's value.
  41100. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  41101. s.InstanceIds = v
  41102. return s
  41103. }
  41104. // SetMaxResults sets the MaxResults field's value.
  41105. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  41106. s.MaxResults = &v
  41107. return s
  41108. }
  41109. // SetNextToken sets the NextToken field's value.
  41110. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  41111. s.NextToken = &v
  41112. return s
  41113. }
  41114. type DescribeInstanceStatusOutput struct {
  41115. _ struct{} `type:"structure"`
  41116. // One or more instance status descriptions.
  41117. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  41118. // The token to use to retrieve the next page of results. This value is null
  41119. // when there are no more results to return.
  41120. NextToken *string `locationName:"nextToken" type:"string"`
  41121. }
  41122. // String returns the string representation
  41123. func (s DescribeInstanceStatusOutput) String() string {
  41124. return awsutil.Prettify(s)
  41125. }
  41126. // GoString returns the string representation
  41127. func (s DescribeInstanceStatusOutput) GoString() string {
  41128. return s.String()
  41129. }
  41130. // SetInstanceStatuses sets the InstanceStatuses field's value.
  41131. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  41132. s.InstanceStatuses = v
  41133. return s
  41134. }
  41135. // SetNextToken sets the NextToken field's value.
  41136. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  41137. s.NextToken = &v
  41138. return s
  41139. }
  41140. type DescribeInstancesInput struct {
  41141. _ struct{} `type:"structure"`
  41142. // Checks whether you have the required permissions for the action, without
  41143. // actually making the request, and provides an error response. If you have
  41144. // the required permissions, the error response is DryRunOperation. Otherwise,
  41145. // it is UnauthorizedOperation.
  41146. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41147. // One or more filters.
  41148. //
  41149. // * affinity - The affinity setting for an instance running on a Dedicated
  41150. // Host (default | host).
  41151. //
  41152. // * architecture - The instance architecture (i386 | x86_64).
  41153. //
  41154. // * availability-zone - The Availability Zone of the instance.
  41155. //
  41156. // * block-device-mapping.attach-time - The attach time for an EBS volume
  41157. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  41158. //
  41159. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  41160. // whether the EBS volume is deleted on instance termination.
  41161. //
  41162. // * block-device-mapping.device-name - The device name specified in the
  41163. // block device mapping (for example, /dev/sdh or xvdh).
  41164. //
  41165. // * block-device-mapping.status - The status for the EBS volume (attaching
  41166. // | attached | detaching | detached).
  41167. //
  41168. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  41169. //
  41170. // * client-token - The idempotency token you provided when you launched
  41171. // the instance.
  41172. //
  41173. // * dns-name - The public DNS name of the instance.
  41174. //
  41175. // * group-id - The ID of the security group for the instance. EC2-Classic
  41176. // only.
  41177. //
  41178. // * group-name - The name of the security group for the instance. EC2-Classic
  41179. // only.
  41180. //
  41181. // * hibernation-options.configured - A Boolean that indicates whether the
  41182. // instance is enabled for hibernation. A value of true means that the instance
  41183. // is enabled for hibernation.
  41184. //
  41185. // * host-id - The ID of the Dedicated Host on which the instance is running,
  41186. // if applicable.
  41187. //
  41188. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  41189. //
  41190. // * iam-instance-profile.arn - The instance profile associated with the
  41191. // instance. Specified as an ARN.
  41192. //
  41193. // * image-id - The ID of the image used to launch the instance.
  41194. //
  41195. // * instance-id - The ID of the instance.
  41196. //
  41197. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  41198. // Scheduled Instance (spot | scheduled).
  41199. //
  41200. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  41201. // integer. The high byte is used for internal purposes and should be ignored.
  41202. // The low byte is set based on the state represented. The valid values are:
  41203. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  41204. // and 80 (stopped).
  41205. //
  41206. // * instance-state-name - The state of the instance (pending | running |
  41207. // shutting-down | terminated | stopping | stopped).
  41208. //
  41209. // * instance-type - The type of instance (for example, t2.micro).
  41210. //
  41211. // * instance.group-id - The ID of the security group for the instance.
  41212. //
  41213. // * instance.group-name - The name of the security group for the instance.
  41214. //
  41215. //
  41216. // * ip-address - The public IPv4 address of the instance.
  41217. //
  41218. // * kernel-id - The kernel ID.
  41219. //
  41220. // * key-name - The name of the key pair used when the instance was launched.
  41221. //
  41222. // * launch-index - When launching multiple instances, this is the index
  41223. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  41224. //
  41225. //
  41226. // * launch-time - The time when the instance was launched.
  41227. //
  41228. // * monitoring-state - Indicates whether detailed monitoring is enabled
  41229. // (disabled | enabled).
  41230. //
  41231. // * network-interface.addresses.private-ip-address - The private IPv4 address
  41232. // associated with the network interface.
  41233. //
  41234. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  41235. // of the network interface is the primary private IPv4 address.
  41236. //
  41237. // * network-interface.addresses.association.public-ip - The ID of the association
  41238. // of an Elastic IP address (IPv4) with a network interface.
  41239. //
  41240. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  41241. // the private IPv4 address associated with the network interface.
  41242. //
  41243. // * network-interface.association.public-ip - The address of the Elastic
  41244. // IP address (IPv4) bound to the network interface.
  41245. //
  41246. // * network-interface.association.ip-owner-id - The owner of the Elastic
  41247. // IP address (IPv4) associated with the network interface.
  41248. //
  41249. // * network-interface.association.allocation-id - The allocation ID returned
  41250. // when you allocated the Elastic IP address (IPv4) for your network interface.
  41251. //
  41252. // * network-interface.association.association-id - The association ID returned
  41253. // when the network interface was associated with an IPv4 address.
  41254. //
  41255. // * network-interface.attachment.attachment-id - The ID of the interface
  41256. // attachment.
  41257. //
  41258. // * network-interface.attachment.instance-id - The ID of the instance to
  41259. // which the network interface is attached.
  41260. //
  41261. // * network-interface.attachment.instance-owner-id - The owner ID of the
  41262. // instance to which the network interface is attached.
  41263. //
  41264. // * network-interface.attachment.device-index - The device index to which
  41265. // the network interface is attached.
  41266. //
  41267. // * network-interface.attachment.status - The status of the attachment (attaching
  41268. // | attached | detaching | detached).
  41269. //
  41270. // * network-interface.attachment.attach-time - The time that the network
  41271. // interface was attached to an instance.
  41272. //
  41273. // * network-interface.attachment.delete-on-termination - Specifies whether
  41274. // the attachment is deleted when an instance is terminated.
  41275. //
  41276. // * network-interface.availability-zone - The Availability Zone for the
  41277. // network interface.
  41278. //
  41279. // * network-interface.description - The description of the network interface.
  41280. //
  41281. // * network-interface.group-id - The ID of a security group associated with
  41282. // the network interface.
  41283. //
  41284. // * network-interface.group-name - The name of a security group associated
  41285. // with the network interface.
  41286. //
  41287. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  41288. // with the network interface.
  41289. //
  41290. // * network-interface.mac-address - The MAC address of the network interface.
  41291. //
  41292. // * network-interface.network-interface-id - The ID of the network interface.
  41293. //
  41294. // * network-interface.owner-id - The ID of the owner of the network interface.
  41295. //
  41296. // * network-interface.private-dns-name - The private DNS name of the network
  41297. // interface.
  41298. //
  41299. // * network-interface.requester-id - The requester ID for the network interface.
  41300. //
  41301. // * network-interface.requester-managed - Indicates whether the network
  41302. // interface is being managed by AWS.
  41303. //
  41304. // * network-interface.status - The status of the network interface (available)
  41305. // | in-use).
  41306. //
  41307. // * network-interface.source-dest-check - Whether the network interface
  41308. // performs source/destination checking. A value of true means that checking
  41309. // is enabled, and false means that checking is disabled. The value must
  41310. // be false for the network interface to perform network address translation
  41311. // (NAT) in your VPC.
  41312. //
  41313. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  41314. //
  41315. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  41316. //
  41317. // * owner-id - The AWS account ID of the instance owner.
  41318. //
  41319. // * placement-group-name - The name of the placement group for the instance.
  41320. //
  41321. // * placement-partition-number - The partition in which the instance is
  41322. // located.
  41323. //
  41324. // * platform - The platform. Use windows if you have Windows instances;
  41325. // otherwise, leave blank.
  41326. //
  41327. // * private-dns-name - The private IPv4 DNS name of the instance.
  41328. //
  41329. // * private-ip-address - The private IPv4 address of the instance.
  41330. //
  41331. // * product-code - The product code associated with the AMI used to launch
  41332. // the instance.
  41333. //
  41334. // * product-code.type - The type of product code (devpay | marketplace).
  41335. //
  41336. // * ramdisk-id - The RAM disk ID.
  41337. //
  41338. // * reason - The reason for the current state of the instance (for example,
  41339. // shows "User Initiated [date]" when you stop or terminate the instance).
  41340. // Similar to the state-reason-code filter.
  41341. //
  41342. // * requester-id - The ID of the entity that launched the instance on your
  41343. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  41344. //
  41345. // * reservation-id - The ID of the instance's reservation. A reservation
  41346. // ID is created any time you launch an instance. A reservation ID has a
  41347. // one-to-one relationship with an instance launch request, but can be associated
  41348. // with more than one instance if you launch multiple instances using the
  41349. // same launch request. For example, if you launch one instance, you get
  41350. // one reservation ID. If you launch ten instances using the same launch
  41351. // request, you also get one reservation ID.
  41352. //
  41353. // * root-device-name - The device name of the root device volume (for example,
  41354. // /dev/sda1).
  41355. //
  41356. // * root-device-type - The type of the root device volume (ebs | instance-store).
  41357. //
  41358. // * source-dest-check - Indicates whether the instance performs source/destination
  41359. // checking. A value of true means that checking is enabled, and false means
  41360. // that checking is disabled. The value must be false for the instance to
  41361. // perform network address translation (NAT) in your VPC.
  41362. //
  41363. // * spot-instance-request-id - The ID of the Spot Instance request.
  41364. //
  41365. // * state-reason-code - The reason code for the state change.
  41366. //
  41367. // * state-reason-message - A message that describes the state change.
  41368. //
  41369. // * subnet-id - The ID of the subnet for the instance.
  41370. //
  41371. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  41372. // Use the tag key in the filter name and the tag value as the filter value.
  41373. // For example, to find all resources that have a tag with the key Owner
  41374. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  41375. // the filter value.
  41376. //
  41377. // * tag-key - The key of a tag assigned to the resource. Use this filter
  41378. // to find all resources that have a tag with a specific key, regardless
  41379. // of the tag value.
  41380. //
  41381. // * tenancy - The tenancy of an instance (dedicated | default | host).
  41382. //
  41383. // * virtualization-type - The virtualization type of the instance (paravirtual
  41384. // | hvm).
  41385. //
  41386. // * vpc-id - The ID of the VPC that the instance is running in.
  41387. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41388. // One or more instance IDs.
  41389. //
  41390. // Default: Describes all your instances.
  41391. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  41392. // The maximum number of results to return in a single call. To retrieve the
  41393. // remaining results, make another call with the returned NextToken value. This
  41394. // value can be between 5 and 1000. You cannot specify this parameter and the
  41395. // instance IDs parameter in the same call.
  41396. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  41397. // The token to request the next page of results.
  41398. NextToken *string `locationName:"nextToken" type:"string"`
  41399. }
  41400. // String returns the string representation
  41401. func (s DescribeInstancesInput) String() string {
  41402. return awsutil.Prettify(s)
  41403. }
  41404. // GoString returns the string representation
  41405. func (s DescribeInstancesInput) GoString() string {
  41406. return s.String()
  41407. }
  41408. // SetDryRun sets the DryRun field's value.
  41409. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  41410. s.DryRun = &v
  41411. return s
  41412. }
  41413. // SetFilters sets the Filters field's value.
  41414. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  41415. s.Filters = v
  41416. return s
  41417. }
  41418. // SetInstanceIds sets the InstanceIds field's value.
  41419. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  41420. s.InstanceIds = v
  41421. return s
  41422. }
  41423. // SetMaxResults sets the MaxResults field's value.
  41424. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  41425. s.MaxResults = &v
  41426. return s
  41427. }
  41428. // SetNextToken sets the NextToken field's value.
  41429. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  41430. s.NextToken = &v
  41431. return s
  41432. }
  41433. type DescribeInstancesOutput struct {
  41434. _ struct{} `type:"structure"`
  41435. // The token to use to retrieve the next page of results. This value is null
  41436. // when there are no more results to return.
  41437. NextToken *string `locationName:"nextToken" type:"string"`
  41438. // Zero or more reservations.
  41439. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  41440. }
  41441. // String returns the string representation
  41442. func (s DescribeInstancesOutput) String() string {
  41443. return awsutil.Prettify(s)
  41444. }
  41445. // GoString returns the string representation
  41446. func (s DescribeInstancesOutput) GoString() string {
  41447. return s.String()
  41448. }
  41449. // SetNextToken sets the NextToken field's value.
  41450. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  41451. s.NextToken = &v
  41452. return s
  41453. }
  41454. // SetReservations sets the Reservations field's value.
  41455. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  41456. s.Reservations = v
  41457. return s
  41458. }
  41459. type DescribeInternetGatewaysInput struct {
  41460. _ struct{} `type:"structure"`
  41461. // Checks whether you have the required permissions for the action, without
  41462. // actually making the request, and provides an error response. If you have
  41463. // the required permissions, the error response is DryRunOperation. Otherwise,
  41464. // it is UnauthorizedOperation.
  41465. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41466. // One or more filters.
  41467. //
  41468. // * attachment.state - The current state of the attachment between the gateway
  41469. // and the VPC (available). Present only if a VPC is attached.
  41470. //
  41471. // * attachment.vpc-id - The ID of an attached VPC.
  41472. //
  41473. // * internet-gateway-id - The ID of the Internet gateway.
  41474. //
  41475. // * owner-id - The ID of the AWS account that owns the internet gateway.
  41476. //
  41477. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  41478. // Use the tag key in the filter name and the tag value as the filter value.
  41479. // For example, to find all resources that have a tag with the key Owner
  41480. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  41481. // the filter value.
  41482. //
  41483. // * tag-key - The key of a tag assigned to the resource. Use this filter
  41484. // to find all resources assigned a tag with a specific key, regardless of
  41485. // the tag value.
  41486. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41487. // One or more internet gateway IDs.
  41488. //
  41489. // Default: Describes all your internet gateways.
  41490. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  41491. // The maximum number of results to return with a single call. To retrieve the
  41492. // remaining results, make another call with the returned nextToken value.
  41493. MaxResults *int64 `min:"5" type:"integer"`
  41494. // The token for the next page of results.
  41495. NextToken *string `type:"string"`
  41496. }
  41497. // String returns the string representation
  41498. func (s DescribeInternetGatewaysInput) String() string {
  41499. return awsutil.Prettify(s)
  41500. }
  41501. // GoString returns the string representation
  41502. func (s DescribeInternetGatewaysInput) GoString() string {
  41503. return s.String()
  41504. }
  41505. // Validate inspects the fields of the type to determine if they are valid.
  41506. func (s *DescribeInternetGatewaysInput) Validate() error {
  41507. invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
  41508. if s.MaxResults != nil && *s.MaxResults < 5 {
  41509. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  41510. }
  41511. if invalidParams.Len() > 0 {
  41512. return invalidParams
  41513. }
  41514. return nil
  41515. }
  41516. // SetDryRun sets the DryRun field's value.
  41517. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  41518. s.DryRun = &v
  41519. return s
  41520. }
  41521. // SetFilters sets the Filters field's value.
  41522. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  41523. s.Filters = v
  41524. return s
  41525. }
  41526. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  41527. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  41528. s.InternetGatewayIds = v
  41529. return s
  41530. }
  41531. // SetMaxResults sets the MaxResults field's value.
  41532. func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
  41533. s.MaxResults = &v
  41534. return s
  41535. }
  41536. // SetNextToken sets the NextToken field's value.
  41537. func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
  41538. s.NextToken = &v
  41539. return s
  41540. }
  41541. type DescribeInternetGatewaysOutput struct {
  41542. _ struct{} `type:"structure"`
  41543. // Information about one or more internet gateways.
  41544. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  41545. // The token to use to retrieve the next page of results. This value is null
  41546. // when there are no more results to return.
  41547. NextToken *string `locationName:"nextToken" type:"string"`
  41548. }
  41549. // String returns the string representation
  41550. func (s DescribeInternetGatewaysOutput) String() string {
  41551. return awsutil.Prettify(s)
  41552. }
  41553. // GoString returns the string representation
  41554. func (s DescribeInternetGatewaysOutput) GoString() string {
  41555. return s.String()
  41556. }
  41557. // SetInternetGateways sets the InternetGateways field's value.
  41558. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  41559. s.InternetGateways = v
  41560. return s
  41561. }
  41562. // SetNextToken sets the NextToken field's value.
  41563. func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
  41564. s.NextToken = &v
  41565. return s
  41566. }
  41567. type DescribeKeyPairsInput struct {
  41568. _ struct{} `type:"structure"`
  41569. // Checks whether you have the required permissions for the action, without
  41570. // actually making the request, and provides an error response. If you have
  41571. // the required permissions, the error response is DryRunOperation. Otherwise,
  41572. // it is UnauthorizedOperation.
  41573. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41574. // One or more filters.
  41575. //
  41576. // * fingerprint - The fingerprint of the key pair.
  41577. //
  41578. // * key-name - The name of the key pair.
  41579. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41580. // One or more key pair names.
  41581. //
  41582. // Default: Describes all your key pairs.
  41583. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  41584. }
  41585. // String returns the string representation
  41586. func (s DescribeKeyPairsInput) String() string {
  41587. return awsutil.Prettify(s)
  41588. }
  41589. // GoString returns the string representation
  41590. func (s DescribeKeyPairsInput) GoString() string {
  41591. return s.String()
  41592. }
  41593. // SetDryRun sets the DryRun field's value.
  41594. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  41595. s.DryRun = &v
  41596. return s
  41597. }
  41598. // SetFilters sets the Filters field's value.
  41599. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  41600. s.Filters = v
  41601. return s
  41602. }
  41603. // SetKeyNames sets the KeyNames field's value.
  41604. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  41605. s.KeyNames = v
  41606. return s
  41607. }
  41608. type DescribeKeyPairsOutput struct {
  41609. _ struct{} `type:"structure"`
  41610. // Information about one or more key pairs.
  41611. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  41612. }
  41613. // String returns the string representation
  41614. func (s DescribeKeyPairsOutput) String() string {
  41615. return awsutil.Prettify(s)
  41616. }
  41617. // GoString returns the string representation
  41618. func (s DescribeKeyPairsOutput) GoString() string {
  41619. return s.String()
  41620. }
  41621. // SetKeyPairs sets the KeyPairs field's value.
  41622. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  41623. s.KeyPairs = v
  41624. return s
  41625. }
  41626. type DescribeLaunchTemplateVersionsInput struct {
  41627. _ struct{} `type:"structure"`
  41628. // Checks whether you have the required permissions for the action, without
  41629. // actually making the request, and provides an error response. If you have
  41630. // the required permissions, the error response is DryRunOperation. Otherwise,
  41631. // it is UnauthorizedOperation.
  41632. DryRun *bool `type:"boolean"`
  41633. // One or more filters.
  41634. //
  41635. // * create-time - The time the launch template version was created.
  41636. //
  41637. // * ebs-optimized - A boolean that indicates whether the instance is optimized
  41638. // for Amazon EBS I/O.
  41639. //
  41640. // * iam-instance-profile - The ARN of the IAM instance profile.
  41641. //
  41642. // * image-id - The ID of the AMI.
  41643. //
  41644. // * instance-type - The instance type.
  41645. //
  41646. // * is-default-version - A boolean that indicates whether the launch template
  41647. // version is the default version.
  41648. //
  41649. // * kernel-id - The kernel ID.
  41650. //
  41651. // * ram-disk-id - The RAM disk ID.
  41652. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41653. // The ID of the launch template. You must specify either the launch template
  41654. // ID or launch template name in the request.
  41655. LaunchTemplateId *string `type:"string"`
  41656. // The name of the launch template. You must specify either the launch template
  41657. // ID or launch template name in the request.
  41658. LaunchTemplateName *string `min:"3" type:"string"`
  41659. // The maximum number of results to return in a single call. To retrieve the
  41660. // remaining results, make another call with the returned NextToken value. This
  41661. // value can be between 1 and 200.
  41662. MaxResults *int64 `type:"integer"`
  41663. // The version number up to which to describe launch template versions.
  41664. MaxVersion *string `type:"string"`
  41665. // The version number after which to describe launch template versions.
  41666. MinVersion *string `type:"string"`
  41667. // The token to request the next page of results.
  41668. NextToken *string `type:"string"`
  41669. // One or more versions of the launch template.
  41670. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
  41671. }
  41672. // String returns the string representation
  41673. func (s DescribeLaunchTemplateVersionsInput) String() string {
  41674. return awsutil.Prettify(s)
  41675. }
  41676. // GoString returns the string representation
  41677. func (s DescribeLaunchTemplateVersionsInput) GoString() string {
  41678. return s.String()
  41679. }
  41680. // Validate inspects the fields of the type to determine if they are valid.
  41681. func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
  41682. invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
  41683. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  41684. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  41685. }
  41686. if invalidParams.Len() > 0 {
  41687. return invalidParams
  41688. }
  41689. return nil
  41690. }
  41691. // SetDryRun sets the DryRun field's value.
  41692. func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
  41693. s.DryRun = &v
  41694. return s
  41695. }
  41696. // SetFilters sets the Filters field's value.
  41697. func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
  41698. s.Filters = v
  41699. return s
  41700. }
  41701. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  41702. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
  41703. s.LaunchTemplateId = &v
  41704. return s
  41705. }
  41706. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  41707. func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
  41708. s.LaunchTemplateName = &v
  41709. return s
  41710. }
  41711. // SetMaxResults sets the MaxResults field's value.
  41712. func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
  41713. s.MaxResults = &v
  41714. return s
  41715. }
  41716. // SetMaxVersion sets the MaxVersion field's value.
  41717. func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
  41718. s.MaxVersion = &v
  41719. return s
  41720. }
  41721. // SetMinVersion sets the MinVersion field's value.
  41722. func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
  41723. s.MinVersion = &v
  41724. return s
  41725. }
  41726. // SetNextToken sets the NextToken field's value.
  41727. func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
  41728. s.NextToken = &v
  41729. return s
  41730. }
  41731. // SetVersions sets the Versions field's value.
  41732. func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
  41733. s.Versions = v
  41734. return s
  41735. }
  41736. type DescribeLaunchTemplateVersionsOutput struct {
  41737. _ struct{} `type:"structure"`
  41738. // Information about the launch template versions.
  41739. LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
  41740. // The token to use to retrieve the next page of results. This value is null
  41741. // when there are no more results to return.
  41742. NextToken *string `locationName:"nextToken" type:"string"`
  41743. }
  41744. // String returns the string representation
  41745. func (s DescribeLaunchTemplateVersionsOutput) String() string {
  41746. return awsutil.Prettify(s)
  41747. }
  41748. // GoString returns the string representation
  41749. func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
  41750. return s.String()
  41751. }
  41752. // SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
  41753. func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
  41754. s.LaunchTemplateVersions = v
  41755. return s
  41756. }
  41757. // SetNextToken sets the NextToken field's value.
  41758. func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
  41759. s.NextToken = &v
  41760. return s
  41761. }
  41762. type DescribeLaunchTemplatesInput struct {
  41763. _ struct{} `type:"structure"`
  41764. // Checks whether you have the required permissions for the action, without
  41765. // actually making the request, and provides an error response. If you have
  41766. // the required permissions, the error response is DryRunOperation. Otherwise,
  41767. // it is UnauthorizedOperation.
  41768. DryRun *bool `type:"boolean"`
  41769. // One or more filters.
  41770. //
  41771. // * create-time - The time the launch template was created.
  41772. //
  41773. // * launch-template-name - The name of the launch template.
  41774. //
  41775. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  41776. // Use the tag key in the filter name and the tag value as the filter value.
  41777. // For example, to find all resources that have a tag with the key Owner
  41778. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  41779. // the filter value.
  41780. //
  41781. // * tag-key - The key of a tag assigned to the resource. Use this filter
  41782. // to find all resources assigned a tag with a specific key, regardless of
  41783. // the tag value.
  41784. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  41785. // One or more launch template IDs.
  41786. LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
  41787. // One or more launch template names.
  41788. LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
  41789. // The maximum number of results to return in a single call. To retrieve the
  41790. // remaining results, make another call with the returned NextToken value. This
  41791. // value can be between 1 and 200.
  41792. MaxResults *int64 `type:"integer"`
  41793. // The token to request the next page of results.
  41794. NextToken *string `type:"string"`
  41795. }
  41796. // String returns the string representation
  41797. func (s DescribeLaunchTemplatesInput) String() string {
  41798. return awsutil.Prettify(s)
  41799. }
  41800. // GoString returns the string representation
  41801. func (s DescribeLaunchTemplatesInput) GoString() string {
  41802. return s.String()
  41803. }
  41804. // SetDryRun sets the DryRun field's value.
  41805. func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
  41806. s.DryRun = &v
  41807. return s
  41808. }
  41809. // SetFilters sets the Filters field's value.
  41810. func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
  41811. s.Filters = v
  41812. return s
  41813. }
  41814. // SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
  41815. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
  41816. s.LaunchTemplateIds = v
  41817. return s
  41818. }
  41819. // SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
  41820. func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
  41821. s.LaunchTemplateNames = v
  41822. return s
  41823. }
  41824. // SetMaxResults sets the MaxResults field's value.
  41825. func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
  41826. s.MaxResults = &v
  41827. return s
  41828. }
  41829. // SetNextToken sets the NextToken field's value.
  41830. func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
  41831. s.NextToken = &v
  41832. return s
  41833. }
  41834. type DescribeLaunchTemplatesOutput struct {
  41835. _ struct{} `type:"structure"`
  41836. // Information about the launch templates.
  41837. LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
  41838. // The token to use to retrieve the next page of results. This value is null
  41839. // when there are no more results to return.
  41840. NextToken *string `locationName:"nextToken" type:"string"`
  41841. }
  41842. // String returns the string representation
  41843. func (s DescribeLaunchTemplatesOutput) String() string {
  41844. return awsutil.Prettify(s)
  41845. }
  41846. // GoString returns the string representation
  41847. func (s DescribeLaunchTemplatesOutput) GoString() string {
  41848. return s.String()
  41849. }
  41850. // SetLaunchTemplates sets the LaunchTemplates field's value.
  41851. func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
  41852. s.LaunchTemplates = v
  41853. return s
  41854. }
  41855. // SetNextToken sets the NextToken field's value.
  41856. func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
  41857. s.NextToken = &v
  41858. return s
  41859. }
  41860. type DescribeMovingAddressesInput struct {
  41861. _ struct{} `type:"structure"`
  41862. // Checks whether you have the required permissions for the action, without
  41863. // actually making the request, and provides an error response. If you have
  41864. // the required permissions, the error response is DryRunOperation. Otherwise,
  41865. // it is UnauthorizedOperation.
  41866. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41867. // One or more filters.
  41868. //
  41869. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  41870. // RestoringToClassic).
  41871. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  41872. // The maximum number of results to return for the request in a single page.
  41873. // The remaining results of the initial request can be seen by sending another
  41874. // request with the returned NextToken value. This value can be between 5 and
  41875. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  41876. //
  41877. // Default: If no value is provided, the default is 1000.
  41878. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  41879. // The token for the next page of results.
  41880. NextToken *string `locationName:"nextToken" type:"string"`
  41881. // One or more Elastic IP addresses.
  41882. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  41883. }
  41884. // String returns the string representation
  41885. func (s DescribeMovingAddressesInput) String() string {
  41886. return awsutil.Prettify(s)
  41887. }
  41888. // GoString returns the string representation
  41889. func (s DescribeMovingAddressesInput) GoString() string {
  41890. return s.String()
  41891. }
  41892. // SetDryRun sets the DryRun field's value.
  41893. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  41894. s.DryRun = &v
  41895. return s
  41896. }
  41897. // SetFilters sets the Filters field's value.
  41898. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  41899. s.Filters = v
  41900. return s
  41901. }
  41902. // SetMaxResults sets the MaxResults field's value.
  41903. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  41904. s.MaxResults = &v
  41905. return s
  41906. }
  41907. // SetNextToken sets the NextToken field's value.
  41908. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  41909. s.NextToken = &v
  41910. return s
  41911. }
  41912. // SetPublicIps sets the PublicIps field's value.
  41913. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  41914. s.PublicIps = v
  41915. return s
  41916. }
  41917. type DescribeMovingAddressesOutput struct {
  41918. _ struct{} `type:"structure"`
  41919. // The status for each Elastic IP address.
  41920. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  41921. // The token to use to retrieve the next page of results. This value is null
  41922. // when there are no more results to return.
  41923. NextToken *string `locationName:"nextToken" type:"string"`
  41924. }
  41925. // String returns the string representation
  41926. func (s DescribeMovingAddressesOutput) String() string {
  41927. return awsutil.Prettify(s)
  41928. }
  41929. // GoString returns the string representation
  41930. func (s DescribeMovingAddressesOutput) GoString() string {
  41931. return s.String()
  41932. }
  41933. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  41934. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  41935. s.MovingAddressStatuses = v
  41936. return s
  41937. }
  41938. // SetNextToken sets the NextToken field's value.
  41939. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  41940. s.NextToken = &v
  41941. return s
  41942. }
  41943. type DescribeNatGatewaysInput struct {
  41944. _ struct{} `type:"structure"`
  41945. // One or more filters.
  41946. //
  41947. // * nat-gateway-id - The ID of the NAT gateway.
  41948. //
  41949. // * state - The state of the NAT gateway (pending | failed | available |
  41950. // deleting | deleted).
  41951. //
  41952. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  41953. //
  41954. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  41955. // Use the tag key in the filter name and the tag value as the filter value.
  41956. // For example, to find all resources that have a tag with the key Owner
  41957. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  41958. // the filter value.
  41959. //
  41960. // * tag-key - The key of a tag assigned to the resource. Use this filter
  41961. // to find all resources assigned a tag with a specific key, regardless of
  41962. // the tag value.
  41963. //
  41964. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  41965. Filter []*Filter `locationNameList:"Filter" type:"list"`
  41966. // The maximum number of results to return with a single call. To retrieve the
  41967. // remaining results, make another call with the returned nextToken value.
  41968. MaxResults *int64 `type:"integer"`
  41969. // One or more NAT gateway IDs.
  41970. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  41971. // The token for the next page of results.
  41972. NextToken *string `type:"string"`
  41973. }
  41974. // String returns the string representation
  41975. func (s DescribeNatGatewaysInput) String() string {
  41976. return awsutil.Prettify(s)
  41977. }
  41978. // GoString returns the string representation
  41979. func (s DescribeNatGatewaysInput) GoString() string {
  41980. return s.String()
  41981. }
  41982. // SetFilter sets the Filter field's value.
  41983. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  41984. s.Filter = v
  41985. return s
  41986. }
  41987. // SetMaxResults sets the MaxResults field's value.
  41988. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  41989. s.MaxResults = &v
  41990. return s
  41991. }
  41992. // SetNatGatewayIds sets the NatGatewayIds field's value.
  41993. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  41994. s.NatGatewayIds = v
  41995. return s
  41996. }
  41997. // SetNextToken sets the NextToken field's value.
  41998. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  41999. s.NextToken = &v
  42000. return s
  42001. }
  42002. type DescribeNatGatewaysOutput struct {
  42003. _ struct{} `type:"structure"`
  42004. // Information about the NAT gateways.
  42005. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  42006. // The token to use to retrieve the next page of results. This value is null
  42007. // when there are no more results to return.
  42008. NextToken *string `locationName:"nextToken" type:"string"`
  42009. }
  42010. // String returns the string representation
  42011. func (s DescribeNatGatewaysOutput) String() string {
  42012. return awsutil.Prettify(s)
  42013. }
  42014. // GoString returns the string representation
  42015. func (s DescribeNatGatewaysOutput) GoString() string {
  42016. return s.String()
  42017. }
  42018. // SetNatGateways sets the NatGateways field's value.
  42019. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  42020. s.NatGateways = v
  42021. return s
  42022. }
  42023. // SetNextToken sets the NextToken field's value.
  42024. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  42025. s.NextToken = &v
  42026. return s
  42027. }
  42028. type DescribeNetworkAclsInput struct {
  42029. _ struct{} `type:"structure"`
  42030. // Checks whether you have the required permissions for the action, without
  42031. // actually making the request, and provides an error response. If you have
  42032. // the required permissions, the error response is DryRunOperation. Otherwise,
  42033. // it is UnauthorizedOperation.
  42034. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42035. // One or more filters.
  42036. //
  42037. // * association.association-id - The ID of an association ID for the ACL.
  42038. //
  42039. // * association.network-acl-id - The ID of the network ACL involved in the
  42040. // association.
  42041. //
  42042. // * association.subnet-id - The ID of the subnet involved in the association.
  42043. //
  42044. // * default - Indicates whether the ACL is the default network ACL for the
  42045. // VPC.
  42046. //
  42047. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  42048. //
  42049. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  42050. //
  42051. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  42052. //
  42053. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  42054. //
  42055. // * entry.port-range.from - The start of the port range specified in the
  42056. // entry.
  42057. //
  42058. // * entry.port-range.to - The end of the port range specified in the entry.
  42059. //
  42060. //
  42061. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  42062. // or a protocol number).
  42063. //
  42064. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  42065. //
  42066. // * entry.rule-number - The number of an entry (in other words, rule) in
  42067. // the set of ACL entries.
  42068. //
  42069. // * network-acl-id - The ID of the network ACL.
  42070. //
  42071. // * owner-id - The ID of the AWS account that owns the network ACL.
  42072. //
  42073. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  42074. // Use the tag key in the filter name and the tag value as the filter value.
  42075. // For example, to find all resources that have a tag with the key Owner
  42076. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  42077. // the filter value.
  42078. //
  42079. // * tag-key - The key of a tag assigned to the resource. Use this filter
  42080. // to find all resources assigned a tag with a specific key, regardless of
  42081. // the tag value.
  42082. //
  42083. // * vpc-id - The ID of the VPC for the network ACL.
  42084. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42085. // The maximum number of results to return with a single call. To retrieve the
  42086. // remaining results, make another call with the returned nextToken value.
  42087. MaxResults *int64 `min:"5" type:"integer"`
  42088. // One or more network ACL IDs.
  42089. //
  42090. // Default: Describes all your network ACLs.
  42091. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  42092. // The token for the next page of results.
  42093. NextToken *string `type:"string"`
  42094. }
  42095. // String returns the string representation
  42096. func (s DescribeNetworkAclsInput) String() string {
  42097. return awsutil.Prettify(s)
  42098. }
  42099. // GoString returns the string representation
  42100. func (s DescribeNetworkAclsInput) GoString() string {
  42101. return s.String()
  42102. }
  42103. // Validate inspects the fields of the type to determine if they are valid.
  42104. func (s *DescribeNetworkAclsInput) Validate() error {
  42105. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
  42106. if s.MaxResults != nil && *s.MaxResults < 5 {
  42107. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  42108. }
  42109. if invalidParams.Len() > 0 {
  42110. return invalidParams
  42111. }
  42112. return nil
  42113. }
  42114. // SetDryRun sets the DryRun field's value.
  42115. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  42116. s.DryRun = &v
  42117. return s
  42118. }
  42119. // SetFilters sets the Filters field's value.
  42120. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  42121. s.Filters = v
  42122. return s
  42123. }
  42124. // SetMaxResults sets the MaxResults field's value.
  42125. func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
  42126. s.MaxResults = &v
  42127. return s
  42128. }
  42129. // SetNetworkAclIds sets the NetworkAclIds field's value.
  42130. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  42131. s.NetworkAclIds = v
  42132. return s
  42133. }
  42134. // SetNextToken sets the NextToken field's value.
  42135. func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
  42136. s.NextToken = &v
  42137. return s
  42138. }
  42139. type DescribeNetworkAclsOutput struct {
  42140. _ struct{} `type:"structure"`
  42141. // Information about one or more network ACLs.
  42142. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  42143. // The token to use to retrieve the next page of results. This value is null
  42144. // when there are no more results to return.
  42145. NextToken *string `locationName:"nextToken" type:"string"`
  42146. }
  42147. // String returns the string representation
  42148. func (s DescribeNetworkAclsOutput) String() string {
  42149. return awsutil.Prettify(s)
  42150. }
  42151. // GoString returns the string representation
  42152. func (s DescribeNetworkAclsOutput) GoString() string {
  42153. return s.String()
  42154. }
  42155. // SetNetworkAcls sets the NetworkAcls field's value.
  42156. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  42157. s.NetworkAcls = v
  42158. return s
  42159. }
  42160. // SetNextToken sets the NextToken field's value.
  42161. func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
  42162. s.NextToken = &v
  42163. return s
  42164. }
  42165. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  42166. type DescribeNetworkInterfaceAttributeInput struct {
  42167. _ struct{} `type:"structure"`
  42168. // The attribute of the network interface. This parameter is required.
  42169. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  42170. // Checks whether you have the required permissions for the action, without
  42171. // actually making the request, and provides an error response. If you have
  42172. // the required permissions, the error response is DryRunOperation. Otherwise,
  42173. // it is UnauthorizedOperation.
  42174. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42175. // The ID of the network interface.
  42176. //
  42177. // NetworkInterfaceId is a required field
  42178. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  42179. }
  42180. // String returns the string representation
  42181. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  42182. return awsutil.Prettify(s)
  42183. }
  42184. // GoString returns the string representation
  42185. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  42186. return s.String()
  42187. }
  42188. // Validate inspects the fields of the type to determine if they are valid.
  42189. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  42190. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  42191. if s.NetworkInterfaceId == nil {
  42192. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  42193. }
  42194. if invalidParams.Len() > 0 {
  42195. return invalidParams
  42196. }
  42197. return nil
  42198. }
  42199. // SetAttribute sets the Attribute field's value.
  42200. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  42201. s.Attribute = &v
  42202. return s
  42203. }
  42204. // SetDryRun sets the DryRun field's value.
  42205. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  42206. s.DryRun = &v
  42207. return s
  42208. }
  42209. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42210. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  42211. s.NetworkInterfaceId = &v
  42212. return s
  42213. }
  42214. // Contains the output of DescribeNetworkInterfaceAttribute.
  42215. type DescribeNetworkInterfaceAttributeOutput struct {
  42216. _ struct{} `type:"structure"`
  42217. // The attachment (if any) of the network interface.
  42218. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  42219. // The description of the network interface.
  42220. Description *AttributeValue `locationName:"description" type:"structure"`
  42221. // The security groups associated with the network interface.
  42222. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  42223. // The ID of the network interface.
  42224. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  42225. // Indicates whether source/destination checking is enabled.
  42226. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  42227. }
  42228. // String returns the string representation
  42229. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  42230. return awsutil.Prettify(s)
  42231. }
  42232. // GoString returns the string representation
  42233. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  42234. return s.String()
  42235. }
  42236. // SetAttachment sets the Attachment field's value.
  42237. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  42238. s.Attachment = v
  42239. return s
  42240. }
  42241. // SetDescription sets the Description field's value.
  42242. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  42243. s.Description = v
  42244. return s
  42245. }
  42246. // SetGroups sets the Groups field's value.
  42247. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  42248. s.Groups = v
  42249. return s
  42250. }
  42251. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42252. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  42253. s.NetworkInterfaceId = &v
  42254. return s
  42255. }
  42256. // SetSourceDestCheck sets the SourceDestCheck field's value.
  42257. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  42258. s.SourceDestCheck = v
  42259. return s
  42260. }
  42261. // Contains the parameters for DescribeNetworkInterfacePermissions.
  42262. type DescribeNetworkInterfacePermissionsInput struct {
  42263. _ struct{} `type:"structure"`
  42264. // One or more filters.
  42265. //
  42266. // * network-interface-permission.network-interface-permission-id - The ID
  42267. // of the permission.
  42268. //
  42269. // * network-interface-permission.network-interface-id - The ID of the network
  42270. // interface.
  42271. //
  42272. // * network-interface-permission.aws-account-id - The AWS account ID.
  42273. //
  42274. // * network-interface-permission.aws-service - The AWS service.
  42275. //
  42276. // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
  42277. // | EIP-ASSOCIATE).
  42278. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42279. // The maximum number of results to return in a single call. To retrieve the
  42280. // remaining results, make another call with the returned NextToken value. If
  42281. // this parameter is not specified, up to 50 results are returned by default.
  42282. MaxResults *int64 `type:"integer"`
  42283. // One or more network interface permission IDs.
  42284. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
  42285. // The token to request the next page of results.
  42286. NextToken *string `type:"string"`
  42287. }
  42288. // String returns the string representation
  42289. func (s DescribeNetworkInterfacePermissionsInput) String() string {
  42290. return awsutil.Prettify(s)
  42291. }
  42292. // GoString returns the string representation
  42293. func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
  42294. return s.String()
  42295. }
  42296. // SetFilters sets the Filters field's value.
  42297. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
  42298. s.Filters = v
  42299. return s
  42300. }
  42301. // SetMaxResults sets the MaxResults field's value.
  42302. func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
  42303. s.MaxResults = &v
  42304. return s
  42305. }
  42306. // SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
  42307. func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
  42308. s.NetworkInterfacePermissionIds = v
  42309. return s
  42310. }
  42311. // SetNextToken sets the NextToken field's value.
  42312. func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
  42313. s.NextToken = &v
  42314. return s
  42315. }
  42316. // Contains the output for DescribeNetworkInterfacePermissions.
  42317. type DescribeNetworkInterfacePermissionsOutput struct {
  42318. _ struct{} `type:"structure"`
  42319. // The network interface permissions.
  42320. NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
  42321. // The token to use to retrieve the next page of results.
  42322. NextToken *string `locationName:"nextToken" type:"string"`
  42323. }
  42324. // String returns the string representation
  42325. func (s DescribeNetworkInterfacePermissionsOutput) String() string {
  42326. return awsutil.Prettify(s)
  42327. }
  42328. // GoString returns the string representation
  42329. func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
  42330. return s.String()
  42331. }
  42332. // SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
  42333. func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
  42334. s.NetworkInterfacePermissions = v
  42335. return s
  42336. }
  42337. // SetNextToken sets the NextToken field's value.
  42338. func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
  42339. s.NextToken = &v
  42340. return s
  42341. }
  42342. // Contains the parameters for DescribeNetworkInterfaces.
  42343. type DescribeNetworkInterfacesInput struct {
  42344. _ struct{} `type:"structure"`
  42345. // Checks whether you have the required permissions for the action, without
  42346. // actually making the request, and provides an error response. If you have
  42347. // the required permissions, the error response is DryRunOperation. Otherwise,
  42348. // it is UnauthorizedOperation.
  42349. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42350. // One or more filters.
  42351. //
  42352. // * addresses.private-ip-address - The private IPv4 addresses associated
  42353. // with the network interface.
  42354. //
  42355. // * addresses.primary - Whether the private IPv4 address is the primary
  42356. // IP address associated with the network interface.
  42357. //
  42358. // * addresses.association.public-ip - The association ID returned when the
  42359. // network interface was associated with the Elastic IP address (IPv4).
  42360. //
  42361. // * addresses.association.owner-id - The owner ID of the addresses associated
  42362. // with the network interface.
  42363. //
  42364. // * association.association-id - The association ID returned when the network
  42365. // interface was associated with an IPv4 address.
  42366. //
  42367. // * association.allocation-id - The allocation ID returned when you allocated
  42368. // the Elastic IP address (IPv4) for your network interface.
  42369. //
  42370. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  42371. // associated with the network interface.
  42372. //
  42373. // * association.public-ip - The address of the Elastic IP address (IPv4)
  42374. // bound to the network interface.
  42375. //
  42376. // * association.public-dns-name - The public DNS name for the network interface
  42377. // (IPv4).
  42378. //
  42379. // * attachment.attachment-id - The ID of the interface attachment.
  42380. //
  42381. // * attachment.attach.time - The time that the network interface was attached
  42382. // to an instance.
  42383. //
  42384. // * attachment.delete-on-termination - Indicates whether the attachment
  42385. // is deleted when an instance is terminated.
  42386. //
  42387. // * attachment.device-index - The device index to which the network interface
  42388. // is attached.
  42389. //
  42390. // * attachment.instance-id - The ID of the instance to which the network
  42391. // interface is attached.
  42392. //
  42393. // * attachment.instance-owner-id - The owner ID of the instance to which
  42394. // the network interface is attached.
  42395. //
  42396. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  42397. // interface is attached.
  42398. //
  42399. // * attachment.status - The status of the attachment (attaching | attached
  42400. // | detaching | detached).
  42401. //
  42402. // * availability-zone - The Availability Zone of the network interface.
  42403. //
  42404. // * description - The description of the network interface.
  42405. //
  42406. // * group-id - The ID of a security group associated with the network interface.
  42407. //
  42408. // * group-name - The name of a security group associated with the network
  42409. // interface.
  42410. //
  42411. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  42412. // interface.
  42413. //
  42414. // * mac-address - The MAC address of the network interface.
  42415. //
  42416. // * network-interface-id - The ID of the network interface.
  42417. //
  42418. // * owner-id - The AWS account ID of the network interface owner.
  42419. //
  42420. // * private-ip-address - The private IPv4 address or addresses of the network
  42421. // interface.
  42422. //
  42423. // * private-dns-name - The private DNS name of the network interface (IPv4).
  42424. //
  42425. // * requester-id - The ID of the entity that launched the instance on your
  42426. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  42427. //
  42428. // * requester-managed - Indicates whether the network interface is being
  42429. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  42430. // and so on).
  42431. //
  42432. // * source-desk-check - Indicates whether the network interface performs
  42433. // source/destination checking. A value of true means checking is enabled,
  42434. // and false means checking is disabled. The value must be false for the
  42435. // network interface to perform network address translation (NAT) in your
  42436. // VPC.
  42437. //
  42438. // * status - The status of the network interface. If the network interface
  42439. // is not attached to an instance, the status is available; if a network
  42440. // interface is attached to an instance the status is in-use.
  42441. //
  42442. // * subnet-id - The ID of the subnet for the network interface.
  42443. //
  42444. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  42445. // Use the tag key in the filter name and the tag value as the filter value.
  42446. // For example, to find all resources that have a tag with the key Owner
  42447. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  42448. // the filter value.
  42449. //
  42450. // * tag-key - The key of a tag assigned to the resource. Use this filter
  42451. // to find all resources assigned a tag with a specific key, regardless of
  42452. // the tag value.
  42453. //
  42454. // * vpc-id - The ID of the VPC for the network interface.
  42455. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  42456. // The maximum number of items to return for this request. The request returns
  42457. // a token that you can specify in a subsequent call to get the next set of
  42458. // results.
  42459. MaxResults *int64 `type:"integer"`
  42460. // One or more network interface IDs.
  42461. //
  42462. // Default: Describes all your network interfaces.
  42463. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  42464. // The token to retrieve the next page of results.
  42465. NextToken *string `type:"string"`
  42466. }
  42467. // String returns the string representation
  42468. func (s DescribeNetworkInterfacesInput) String() string {
  42469. return awsutil.Prettify(s)
  42470. }
  42471. // GoString returns the string representation
  42472. func (s DescribeNetworkInterfacesInput) GoString() string {
  42473. return s.String()
  42474. }
  42475. // SetDryRun sets the DryRun field's value.
  42476. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  42477. s.DryRun = &v
  42478. return s
  42479. }
  42480. // SetFilters sets the Filters field's value.
  42481. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  42482. s.Filters = v
  42483. return s
  42484. }
  42485. // SetMaxResults sets the MaxResults field's value.
  42486. func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
  42487. s.MaxResults = &v
  42488. return s
  42489. }
  42490. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  42491. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  42492. s.NetworkInterfaceIds = v
  42493. return s
  42494. }
  42495. // SetNextToken sets the NextToken field's value.
  42496. func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
  42497. s.NextToken = &v
  42498. return s
  42499. }
  42500. // Contains the output of DescribeNetworkInterfaces.
  42501. type DescribeNetworkInterfacesOutput struct {
  42502. _ struct{} `type:"structure"`
  42503. // Information about one or more network interfaces.
  42504. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  42505. // The token to use to retrieve the next page of results. This value is null
  42506. // when there are no more results to return.
  42507. NextToken *string `locationName:"nextToken" type:"string"`
  42508. }
  42509. // String returns the string representation
  42510. func (s DescribeNetworkInterfacesOutput) String() string {
  42511. return awsutil.Prettify(s)
  42512. }
  42513. // GoString returns the string representation
  42514. func (s DescribeNetworkInterfacesOutput) GoString() string {
  42515. return s.String()
  42516. }
  42517. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  42518. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  42519. s.NetworkInterfaces = v
  42520. return s
  42521. }
  42522. // SetNextToken sets the NextToken field's value.
  42523. func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
  42524. s.NextToken = &v
  42525. return s
  42526. }
  42527. type DescribePlacementGroupsInput struct {
  42528. _ struct{} `type:"structure"`
  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 `locationName:"dryRun" type:"boolean"`
  42534. // One or more filters.
  42535. //
  42536. // * group-name - The name of the placement group.
  42537. //
  42538. // * state - The state of the placement group (pending | available | deleting
  42539. // | deleted).
  42540. //
  42541. // * strategy - The strategy of the placement group (cluster | spread | partition).
  42542. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42543. // One or more placement group names.
  42544. //
  42545. // Default: Describes all your placement groups, or only those otherwise specified.
  42546. GroupNames []*string `locationName:"groupName" type:"list"`
  42547. }
  42548. // String returns the string representation
  42549. func (s DescribePlacementGroupsInput) String() string {
  42550. return awsutil.Prettify(s)
  42551. }
  42552. // GoString returns the string representation
  42553. func (s DescribePlacementGroupsInput) GoString() string {
  42554. return s.String()
  42555. }
  42556. // SetDryRun sets the DryRun field's value.
  42557. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  42558. s.DryRun = &v
  42559. return s
  42560. }
  42561. // SetFilters sets the Filters field's value.
  42562. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  42563. s.Filters = v
  42564. return s
  42565. }
  42566. // SetGroupNames sets the GroupNames field's value.
  42567. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  42568. s.GroupNames = v
  42569. return s
  42570. }
  42571. type DescribePlacementGroupsOutput struct {
  42572. _ struct{} `type:"structure"`
  42573. // One or more placement groups.
  42574. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  42575. }
  42576. // String returns the string representation
  42577. func (s DescribePlacementGroupsOutput) String() string {
  42578. return awsutil.Prettify(s)
  42579. }
  42580. // GoString returns the string representation
  42581. func (s DescribePlacementGroupsOutput) GoString() string {
  42582. return s.String()
  42583. }
  42584. // SetPlacementGroups sets the PlacementGroups field's value.
  42585. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  42586. s.PlacementGroups = v
  42587. return s
  42588. }
  42589. type DescribePrefixListsInput struct {
  42590. _ struct{} `type:"structure"`
  42591. // Checks whether you have the required permissions for the action, without
  42592. // actually making the request, and provides an error response. If you have
  42593. // the required permissions, the error response is DryRunOperation. Otherwise,
  42594. // it is UnauthorizedOperation.
  42595. DryRun *bool `type:"boolean"`
  42596. // One or more filters.
  42597. //
  42598. // * prefix-list-id: The ID of a prefix list.
  42599. //
  42600. // * prefix-list-name: The name of a prefix list.
  42601. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42602. // The maximum number of results to return with a single call. To retrieve the
  42603. // remaining results, make another call with the returned nextToken value.
  42604. MaxResults *int64 `type:"integer"`
  42605. // The token for the next page of results.
  42606. NextToken *string `type:"string"`
  42607. // One or more prefix list IDs.
  42608. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  42609. }
  42610. // String returns the string representation
  42611. func (s DescribePrefixListsInput) String() string {
  42612. return awsutil.Prettify(s)
  42613. }
  42614. // GoString returns the string representation
  42615. func (s DescribePrefixListsInput) GoString() string {
  42616. return s.String()
  42617. }
  42618. // SetDryRun sets the DryRun field's value.
  42619. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  42620. s.DryRun = &v
  42621. return s
  42622. }
  42623. // SetFilters sets the Filters field's value.
  42624. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  42625. s.Filters = v
  42626. return s
  42627. }
  42628. // SetMaxResults sets the MaxResults field's value.
  42629. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  42630. s.MaxResults = &v
  42631. return s
  42632. }
  42633. // SetNextToken sets the NextToken field's value.
  42634. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  42635. s.NextToken = &v
  42636. return s
  42637. }
  42638. // SetPrefixListIds sets the PrefixListIds field's value.
  42639. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  42640. s.PrefixListIds = v
  42641. return s
  42642. }
  42643. type DescribePrefixListsOutput struct {
  42644. _ struct{} `type:"structure"`
  42645. // The token to use to retrieve the next page of results. This value is null
  42646. // when there are no more results to return.
  42647. NextToken *string `locationName:"nextToken" type:"string"`
  42648. // All available prefix lists.
  42649. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  42650. }
  42651. // String returns the string representation
  42652. func (s DescribePrefixListsOutput) String() string {
  42653. return awsutil.Prettify(s)
  42654. }
  42655. // GoString returns the string representation
  42656. func (s DescribePrefixListsOutput) GoString() string {
  42657. return s.String()
  42658. }
  42659. // SetNextToken sets the NextToken field's value.
  42660. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  42661. s.NextToken = &v
  42662. return s
  42663. }
  42664. // SetPrefixLists sets the PrefixLists field's value.
  42665. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  42666. s.PrefixLists = v
  42667. return s
  42668. }
  42669. type DescribePrincipalIdFormatInput struct {
  42670. _ struct{} `type:"structure"`
  42671. // Checks whether you have the required permissions for the action, without
  42672. // actually making the request, and provides an error response. If you have
  42673. // the required permissions, the error response is DryRunOperation. Otherwise,
  42674. // it is UnauthorizedOperation.
  42675. DryRun *bool `type:"boolean"`
  42676. // The maximum number of results to return in a single call. To retrieve the
  42677. // remaining results, make another call with the returned NextToken value.
  42678. MaxResults *int64 `type:"integer"`
  42679. // The token to request the next page of results.
  42680. NextToken *string `type:"string"`
  42681. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  42682. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  42683. // | image | import-task | instance | internet-gateway | network-acl | network-acl-association
  42684. // | network-interface | network-interface-attachment | prefix-list | reservation
  42685. // | route-table | route-table-association | security-group | snapshot | subnet
  42686. // | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
  42687. // | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
  42688. Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
  42689. }
  42690. // String returns the string representation
  42691. func (s DescribePrincipalIdFormatInput) String() string {
  42692. return awsutil.Prettify(s)
  42693. }
  42694. // GoString returns the string representation
  42695. func (s DescribePrincipalIdFormatInput) GoString() string {
  42696. return s.String()
  42697. }
  42698. // SetDryRun sets the DryRun field's value.
  42699. func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
  42700. s.DryRun = &v
  42701. return s
  42702. }
  42703. // SetMaxResults sets the MaxResults field's value.
  42704. func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
  42705. s.MaxResults = &v
  42706. return s
  42707. }
  42708. // SetNextToken sets the NextToken field's value.
  42709. func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
  42710. s.NextToken = &v
  42711. return s
  42712. }
  42713. // SetResources sets the Resources field's value.
  42714. func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
  42715. s.Resources = v
  42716. return s
  42717. }
  42718. type DescribePrincipalIdFormatOutput struct {
  42719. _ struct{} `type:"structure"`
  42720. // The token to use to retrieve the next page of results. This value is null
  42721. // when there are no more results to return.
  42722. NextToken *string `locationName:"nextToken" type:"string"`
  42723. // Information about the ID format settings for the ARN.
  42724. Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
  42725. }
  42726. // String returns the string representation
  42727. func (s DescribePrincipalIdFormatOutput) String() string {
  42728. return awsutil.Prettify(s)
  42729. }
  42730. // GoString returns the string representation
  42731. func (s DescribePrincipalIdFormatOutput) GoString() string {
  42732. return s.String()
  42733. }
  42734. // SetNextToken sets the NextToken field's value.
  42735. func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
  42736. s.NextToken = &v
  42737. return s
  42738. }
  42739. // SetPrincipals sets the Principals field's value.
  42740. func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
  42741. s.Principals = v
  42742. return s
  42743. }
  42744. type DescribePublicIpv4PoolsInput struct {
  42745. _ struct{} `type:"structure"`
  42746. // The maximum number of results to return with a single call. To retrieve the
  42747. // remaining results, make another call with the returned nextToken value.
  42748. MaxResults *int64 `min:"1" type:"integer"`
  42749. // The token for the next page of results.
  42750. NextToken *string `min:"1" type:"string"`
  42751. // The IDs of the address pools.
  42752. PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
  42753. }
  42754. // String returns the string representation
  42755. func (s DescribePublicIpv4PoolsInput) String() string {
  42756. return awsutil.Prettify(s)
  42757. }
  42758. // GoString returns the string representation
  42759. func (s DescribePublicIpv4PoolsInput) GoString() string {
  42760. return s.String()
  42761. }
  42762. // Validate inspects the fields of the type to determine if they are valid.
  42763. func (s *DescribePublicIpv4PoolsInput) Validate() error {
  42764. invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
  42765. if s.MaxResults != nil && *s.MaxResults < 1 {
  42766. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  42767. }
  42768. if s.NextToken != nil && len(*s.NextToken) < 1 {
  42769. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  42770. }
  42771. if invalidParams.Len() > 0 {
  42772. return invalidParams
  42773. }
  42774. return nil
  42775. }
  42776. // SetMaxResults sets the MaxResults field's value.
  42777. func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
  42778. s.MaxResults = &v
  42779. return s
  42780. }
  42781. // SetNextToken sets the NextToken field's value.
  42782. func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
  42783. s.NextToken = &v
  42784. return s
  42785. }
  42786. // SetPoolIds sets the PoolIds field's value.
  42787. func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
  42788. s.PoolIds = v
  42789. return s
  42790. }
  42791. type DescribePublicIpv4PoolsOutput struct {
  42792. _ struct{} `type:"structure"`
  42793. // The token to use to retrieve the next page of results. This value is null
  42794. // when there are no more results to return.
  42795. NextToken *string `locationName:"nextToken" type:"string"`
  42796. // Information about the address pools.
  42797. PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
  42798. }
  42799. // String returns the string representation
  42800. func (s DescribePublicIpv4PoolsOutput) String() string {
  42801. return awsutil.Prettify(s)
  42802. }
  42803. // GoString returns the string representation
  42804. func (s DescribePublicIpv4PoolsOutput) GoString() string {
  42805. return s.String()
  42806. }
  42807. // SetNextToken sets the NextToken field's value.
  42808. func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
  42809. s.NextToken = &v
  42810. return s
  42811. }
  42812. // SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
  42813. func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
  42814. s.PublicIpv4Pools = v
  42815. return s
  42816. }
  42817. type DescribeRegionsInput struct {
  42818. _ struct{} `type:"structure"`
  42819. // Checks whether you have the required permissions for the action, without
  42820. // actually making the request, and provides an error response. If you have
  42821. // the required permissions, the error response is DryRunOperation. Otherwise,
  42822. // it is UnauthorizedOperation.
  42823. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42824. // One or more filters.
  42825. //
  42826. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  42827. //
  42828. // * region-name - The name of the region (for example, us-east-1).
  42829. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42830. // The names of one or more regions.
  42831. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  42832. }
  42833. // String returns the string representation
  42834. func (s DescribeRegionsInput) String() string {
  42835. return awsutil.Prettify(s)
  42836. }
  42837. // GoString returns the string representation
  42838. func (s DescribeRegionsInput) GoString() string {
  42839. return s.String()
  42840. }
  42841. // SetDryRun sets the DryRun field's value.
  42842. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  42843. s.DryRun = &v
  42844. return s
  42845. }
  42846. // SetFilters sets the Filters field's value.
  42847. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  42848. s.Filters = v
  42849. return s
  42850. }
  42851. // SetRegionNames sets the RegionNames field's value.
  42852. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  42853. s.RegionNames = v
  42854. return s
  42855. }
  42856. type DescribeRegionsOutput struct {
  42857. _ struct{} `type:"structure"`
  42858. // Information about one or more regions.
  42859. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  42860. }
  42861. // String returns the string representation
  42862. func (s DescribeRegionsOutput) String() string {
  42863. return awsutil.Prettify(s)
  42864. }
  42865. // GoString returns the string representation
  42866. func (s DescribeRegionsOutput) GoString() string {
  42867. return s.String()
  42868. }
  42869. // SetRegions sets the Regions field's value.
  42870. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  42871. s.Regions = v
  42872. return s
  42873. }
  42874. // Contains the parameters for DescribeReservedInstances.
  42875. type DescribeReservedInstancesInput struct {
  42876. _ struct{} `type:"structure"`
  42877. // Checks whether you have the required permissions for the action, without
  42878. // actually making the request, and provides an error response. If you have
  42879. // the required permissions, the error response is DryRunOperation. Otherwise,
  42880. // it is UnauthorizedOperation.
  42881. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42882. // One or more filters.
  42883. //
  42884. // * availability-zone - The Availability Zone where the Reserved Instance
  42885. // can be used.
  42886. //
  42887. // * duration - The duration of the Reserved Instance (one year or three
  42888. // years), in seconds (31536000 | 94608000).
  42889. //
  42890. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  42891. //
  42892. // * fixed-price - The purchase price of the Reserved Instance (for example,
  42893. // 9800.0).
  42894. //
  42895. // * instance-type - The instance type that is covered by the reservation.
  42896. //
  42897. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  42898. //
  42899. // * product-description - The Reserved Instance product platform description.
  42900. // Instances that include (Amazon VPC) in the product platform description
  42901. // will only be displayed to EC2-Classic account holders and are for use
  42902. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  42903. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  42904. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  42905. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  42906. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  42907. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  42908. //
  42909. // * reserved-instances-id - The ID of the Reserved Instance.
  42910. //
  42911. // * start - The time at which the Reserved Instance purchase request was
  42912. // placed (for example, 2014-08-07T11:54:42.000Z).
  42913. //
  42914. // * state - The state of the Reserved Instance (payment-pending | active
  42915. // | payment-failed | retired).
  42916. //
  42917. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  42918. // Use the tag key in the filter name and the tag value as the filter value.
  42919. // For example, to find all resources that have a tag with the key Owner
  42920. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  42921. // the filter value.
  42922. //
  42923. // * tag-key - The key of a tag assigned to the resource. Use this filter
  42924. // to find all resources assigned a tag with a specific key, regardless of
  42925. // the tag value.
  42926. //
  42927. // * usage-price - The usage price of the Reserved Instance, per hour (for
  42928. // example, 0.84).
  42929. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42930. // Describes whether the Reserved Instance is Standard or Convertible.
  42931. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  42932. // The Reserved Instance offering type. If you are using tools that predate
  42933. // the 2011-11-01 API version, you only have access to the Medium Utilization
  42934. // Reserved Instance offering type.
  42935. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  42936. // One or more Reserved Instance IDs.
  42937. //
  42938. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  42939. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  42940. }
  42941. // String returns the string representation
  42942. func (s DescribeReservedInstancesInput) String() string {
  42943. return awsutil.Prettify(s)
  42944. }
  42945. // GoString returns the string representation
  42946. func (s DescribeReservedInstancesInput) GoString() string {
  42947. return s.String()
  42948. }
  42949. // SetDryRun sets the DryRun field's value.
  42950. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  42951. s.DryRun = &v
  42952. return s
  42953. }
  42954. // SetFilters sets the Filters field's value.
  42955. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  42956. s.Filters = v
  42957. return s
  42958. }
  42959. // SetOfferingClass sets the OfferingClass field's value.
  42960. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  42961. s.OfferingClass = &v
  42962. return s
  42963. }
  42964. // SetOfferingType sets the OfferingType field's value.
  42965. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  42966. s.OfferingType = &v
  42967. return s
  42968. }
  42969. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  42970. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  42971. s.ReservedInstancesIds = v
  42972. return s
  42973. }
  42974. // Contains the parameters for DescribeReservedInstancesListings.
  42975. type DescribeReservedInstancesListingsInput struct {
  42976. _ struct{} `type:"structure"`
  42977. // One or more filters.
  42978. //
  42979. // * reserved-instances-id - The ID of the Reserved Instances.
  42980. //
  42981. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  42982. //
  42983. // * status - The status of the Reserved Instance listing (pending | active
  42984. // | cancelled | closed).
  42985. //
  42986. // * status-message - The reason for the status.
  42987. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  42988. // One or more Reserved Instance IDs.
  42989. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42990. // One or more Reserved Instance listing IDs.
  42991. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  42992. }
  42993. // String returns the string representation
  42994. func (s DescribeReservedInstancesListingsInput) String() string {
  42995. return awsutil.Prettify(s)
  42996. }
  42997. // GoString returns the string representation
  42998. func (s DescribeReservedInstancesListingsInput) GoString() string {
  42999. return s.String()
  43000. }
  43001. // SetFilters sets the Filters field's value.
  43002. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  43003. s.Filters = v
  43004. return s
  43005. }
  43006. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  43007. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  43008. s.ReservedInstancesId = &v
  43009. return s
  43010. }
  43011. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  43012. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  43013. s.ReservedInstancesListingId = &v
  43014. return s
  43015. }
  43016. // Contains the output of DescribeReservedInstancesListings.
  43017. type DescribeReservedInstancesListingsOutput struct {
  43018. _ struct{} `type:"structure"`
  43019. // Information about the Reserved Instance listing.
  43020. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  43021. }
  43022. // String returns the string representation
  43023. func (s DescribeReservedInstancesListingsOutput) String() string {
  43024. return awsutil.Prettify(s)
  43025. }
  43026. // GoString returns the string representation
  43027. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  43028. return s.String()
  43029. }
  43030. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  43031. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  43032. s.ReservedInstancesListings = v
  43033. return s
  43034. }
  43035. // Contains the parameters for DescribeReservedInstancesModifications.
  43036. type DescribeReservedInstancesModificationsInput struct {
  43037. _ struct{} `type:"structure"`
  43038. // One or more filters.
  43039. //
  43040. // * client-token - The idempotency token for the modification request.
  43041. //
  43042. // * create-date - The time when the modification request was created.
  43043. //
  43044. // * effective-date - The time when the modification becomes effective.
  43045. //
  43046. // * modification-result.reserved-instances-id - The ID for the Reserved
  43047. // Instances created as part of the modification request. This ID is only
  43048. // available when the status of the modification is fulfilled.
  43049. //
  43050. // * modification-result.target-configuration.availability-zone - The Availability
  43051. // Zone for the new Reserved Instances.
  43052. //
  43053. // * modification-result.target-configuration.instance-count - The number
  43054. // of new Reserved Instances.
  43055. //
  43056. // * modification-result.target-configuration.instance-type - The instance
  43057. // type of the new Reserved Instances.
  43058. //
  43059. // * modification-result.target-configuration.platform - The network platform
  43060. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  43061. //
  43062. // * reserved-instances-id - The ID of the Reserved Instances modified.
  43063. //
  43064. // * reserved-instances-modification-id - The ID of the modification request.
  43065. //
  43066. // * status - The status of the Reserved Instances modification request (processing
  43067. // | fulfilled | failed).
  43068. //
  43069. // * status-message - The reason for the status.
  43070. //
  43071. // * update-date - The time when the modification request was last updated.
  43072. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43073. // The token to retrieve the next page of results.
  43074. NextToken *string `locationName:"nextToken" type:"string"`
  43075. // IDs for the submitted modification request.
  43076. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  43077. }
  43078. // String returns the string representation
  43079. func (s DescribeReservedInstancesModificationsInput) String() string {
  43080. return awsutil.Prettify(s)
  43081. }
  43082. // GoString returns the string representation
  43083. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  43084. return s.String()
  43085. }
  43086. // SetFilters sets the Filters field's value.
  43087. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  43088. s.Filters = v
  43089. return s
  43090. }
  43091. // SetNextToken sets the NextToken field's value.
  43092. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  43093. s.NextToken = &v
  43094. return s
  43095. }
  43096. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  43097. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  43098. s.ReservedInstancesModificationIds = v
  43099. return s
  43100. }
  43101. // Contains the output of DescribeReservedInstancesModifications.
  43102. type DescribeReservedInstancesModificationsOutput struct {
  43103. _ struct{} `type:"structure"`
  43104. // The token to use to retrieve the next page of results. This value is null
  43105. // when there are no more results to return.
  43106. NextToken *string `locationName:"nextToken" type:"string"`
  43107. // The Reserved Instance modification information.
  43108. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  43109. }
  43110. // String returns the string representation
  43111. func (s DescribeReservedInstancesModificationsOutput) String() string {
  43112. return awsutil.Prettify(s)
  43113. }
  43114. // GoString returns the string representation
  43115. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  43116. return s.String()
  43117. }
  43118. // SetNextToken sets the NextToken field's value.
  43119. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  43120. s.NextToken = &v
  43121. return s
  43122. }
  43123. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  43124. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  43125. s.ReservedInstancesModifications = v
  43126. return s
  43127. }
  43128. // Contains the parameters for DescribeReservedInstancesOfferings.
  43129. type DescribeReservedInstancesOfferingsInput struct {
  43130. _ struct{} `type:"structure"`
  43131. // The Availability Zone in which the Reserved Instance can be used.
  43132. AvailabilityZone *string `type:"string"`
  43133. // Checks whether you have the required permissions for the action, without
  43134. // actually making the request, and provides an error response. If you have
  43135. // the required permissions, the error response is DryRunOperation. Otherwise,
  43136. // it is UnauthorizedOperation.
  43137. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43138. // One or more filters.
  43139. //
  43140. // * availability-zone - The Availability Zone where the Reserved Instance
  43141. // can be used.
  43142. //
  43143. // * duration - The duration of the Reserved Instance (for example, one year
  43144. // or three years), in seconds (31536000 | 94608000).
  43145. //
  43146. // * fixed-price - The purchase price of the Reserved Instance (for example,
  43147. // 9800.0).
  43148. //
  43149. // * instance-type - The instance type that is covered by the reservation.
  43150. //
  43151. // * marketplace - Set to true to show only Reserved Instance Marketplace
  43152. // offerings. When this filter is not used, which is the default behavior,
  43153. // all offerings from both AWS and the Reserved Instance Marketplace are
  43154. // listed.
  43155. //
  43156. // * product-description - The Reserved Instance product platform description.
  43157. // Instances that include (Amazon VPC) in the product platform description
  43158. // will only be displayed to EC2-Classic account holders and are for use
  43159. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  43160. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  43161. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  43162. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  43163. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  43164. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  43165. // VPC))
  43166. //
  43167. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  43168. //
  43169. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  43170. //
  43171. // * usage-price - The usage price of the Reserved Instance, per hour (for
  43172. // example, 0.84).
  43173. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43174. // Include Reserved Instance Marketplace offerings in the response.
  43175. IncludeMarketplace *bool `type:"boolean"`
  43176. // The tenancy of the instances covered by the reservation. A Reserved Instance
  43177. // with a tenancy of dedicated is applied to instances that run in a VPC on
  43178. // single-tenant hardware (i.e., Dedicated Instances).
  43179. //
  43180. // Important: The host value cannot be used with this parameter. Use the default
  43181. // or dedicated values only.
  43182. //
  43183. // Default: default
  43184. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  43185. // The instance type that the reservation will cover (for example, m1.small).
  43186. // For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  43187. // in the Amazon Elastic Compute Cloud User Guide.
  43188. InstanceType *string `type:"string" enum:"InstanceType"`
  43189. // The maximum duration (in seconds) to filter when searching for offerings.
  43190. //
  43191. // Default: 94608000 (3 years)
  43192. MaxDuration *int64 `type:"long"`
  43193. // The maximum number of instances to filter when searching for offerings.
  43194. //
  43195. // Default: 20
  43196. MaxInstanceCount *int64 `type:"integer"`
  43197. // The maximum number of results to return for the request in a single page.
  43198. // The remaining results of the initial request can be seen by sending another
  43199. // request with the returned NextToken value. The maximum is 100.
  43200. //
  43201. // Default: 100
  43202. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  43203. // The minimum duration (in seconds) to filter when searching for offerings.
  43204. //
  43205. // Default: 2592000 (1 month)
  43206. MinDuration *int64 `type:"long"`
  43207. // The token to retrieve the next page of results.
  43208. NextToken *string `locationName:"nextToken" type:"string"`
  43209. // The offering class of the Reserved Instance. Can be standard or convertible.
  43210. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  43211. // The Reserved Instance offering type. If you are using tools that predate
  43212. // the 2011-11-01 API version, you only have access to the Medium Utilization
  43213. // Reserved Instance offering type.
  43214. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  43215. // The Reserved Instance product platform description. Instances that include
  43216. // (Amazon VPC) in the description are for use with Amazon VPC.
  43217. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  43218. // One or more Reserved Instances offering IDs.
  43219. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  43220. }
  43221. // String returns the string representation
  43222. func (s DescribeReservedInstancesOfferingsInput) String() string {
  43223. return awsutil.Prettify(s)
  43224. }
  43225. // GoString returns the string representation
  43226. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  43227. return s.String()
  43228. }
  43229. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43230. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  43231. s.AvailabilityZone = &v
  43232. return s
  43233. }
  43234. // SetDryRun sets the DryRun field's value.
  43235. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  43236. s.DryRun = &v
  43237. return s
  43238. }
  43239. // SetFilters sets the Filters field's value.
  43240. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  43241. s.Filters = v
  43242. return s
  43243. }
  43244. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  43245. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  43246. s.IncludeMarketplace = &v
  43247. return s
  43248. }
  43249. // SetInstanceTenancy sets the InstanceTenancy field's value.
  43250. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  43251. s.InstanceTenancy = &v
  43252. return s
  43253. }
  43254. // SetInstanceType sets the InstanceType field's value.
  43255. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  43256. s.InstanceType = &v
  43257. return s
  43258. }
  43259. // SetMaxDuration sets the MaxDuration field's value.
  43260. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  43261. s.MaxDuration = &v
  43262. return s
  43263. }
  43264. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  43265. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  43266. s.MaxInstanceCount = &v
  43267. return s
  43268. }
  43269. // SetMaxResults sets the MaxResults field's value.
  43270. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  43271. s.MaxResults = &v
  43272. return s
  43273. }
  43274. // SetMinDuration sets the MinDuration field's value.
  43275. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  43276. s.MinDuration = &v
  43277. return s
  43278. }
  43279. // SetNextToken sets the NextToken field's value.
  43280. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  43281. s.NextToken = &v
  43282. return s
  43283. }
  43284. // SetOfferingClass sets the OfferingClass field's value.
  43285. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  43286. s.OfferingClass = &v
  43287. return s
  43288. }
  43289. // SetOfferingType sets the OfferingType field's value.
  43290. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  43291. s.OfferingType = &v
  43292. return s
  43293. }
  43294. // SetProductDescription sets the ProductDescription field's value.
  43295. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  43296. s.ProductDescription = &v
  43297. return s
  43298. }
  43299. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  43300. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  43301. s.ReservedInstancesOfferingIds = v
  43302. return s
  43303. }
  43304. // Contains the output of DescribeReservedInstancesOfferings.
  43305. type DescribeReservedInstancesOfferingsOutput struct {
  43306. _ struct{} `type:"structure"`
  43307. // The token to use to retrieve the next page of results. This value is null
  43308. // when there are no more results to return.
  43309. NextToken *string `locationName:"nextToken" type:"string"`
  43310. // A list of Reserved Instances offerings.
  43311. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  43312. }
  43313. // String returns the string representation
  43314. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  43315. return awsutil.Prettify(s)
  43316. }
  43317. // GoString returns the string representation
  43318. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  43319. return s.String()
  43320. }
  43321. // SetNextToken sets the NextToken field's value.
  43322. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  43323. s.NextToken = &v
  43324. return s
  43325. }
  43326. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  43327. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  43328. s.ReservedInstancesOfferings = v
  43329. return s
  43330. }
  43331. // Contains the output for DescribeReservedInstances.
  43332. type DescribeReservedInstancesOutput struct {
  43333. _ struct{} `type:"structure"`
  43334. // A list of Reserved Instances.
  43335. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  43336. }
  43337. // String returns the string representation
  43338. func (s DescribeReservedInstancesOutput) String() string {
  43339. return awsutil.Prettify(s)
  43340. }
  43341. // GoString returns the string representation
  43342. func (s DescribeReservedInstancesOutput) GoString() string {
  43343. return s.String()
  43344. }
  43345. // SetReservedInstances sets the ReservedInstances field's value.
  43346. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  43347. s.ReservedInstances = v
  43348. return s
  43349. }
  43350. type DescribeRouteTablesInput struct {
  43351. _ struct{} `type:"structure"`
  43352. // Checks whether you have the required permissions for the action, without
  43353. // actually making the request, and provides an error response. If you have
  43354. // the required permissions, the error response is DryRunOperation. Otherwise,
  43355. // it is UnauthorizedOperation.
  43356. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43357. // One or more filters.
  43358. //
  43359. // * association.route-table-association-id - The ID of an association ID
  43360. // for the route table.
  43361. //
  43362. // * association.route-table-id - The ID of the route table involved in the
  43363. // association.
  43364. //
  43365. // * association.subnet-id - The ID of the subnet involved in the association.
  43366. //
  43367. // * association.main - Indicates whether the route table is the main route
  43368. // table for the VPC (true | false). Route tables that do not have an association
  43369. // ID are not returned in the response.
  43370. //
  43371. // * owner-id - The ID of the AWS account that owns the route table.
  43372. //
  43373. // * route-table-id - The ID of the route table.
  43374. //
  43375. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  43376. // in the table.
  43377. //
  43378. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  43379. // a route in the route table.
  43380. //
  43381. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  43382. // specified in a route in the table.
  43383. //
  43384. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  43385. // gateway specified in a route in the route table.
  43386. //
  43387. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  43388. //
  43389. // * route.instance-id - The ID of an instance specified in a route in the
  43390. // table.
  43391. //
  43392. // * route.nat-gateway-id - The ID of a NAT gateway.
  43393. //
  43394. // * route.transit-gateway-id - The ID of a transit gateway.
  43395. //
  43396. // * route.origin - Describes how the route was created. CreateRouteTable
  43397. // indicates that the route was automatically created when the route table
  43398. // was created; CreateRoute indicates that the route was manually added to
  43399. // the route table; EnableVgwRoutePropagation indicates that the route was
  43400. // propagated by route propagation.
  43401. //
  43402. // * route.state - The state of a route in the route table (active | blackhole).
  43403. // The blackhole state indicates that the route's target isn't available
  43404. // (for example, the specified gateway isn't attached to the VPC, the specified
  43405. // NAT instance has been terminated, and so on).
  43406. //
  43407. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  43408. // specified in a route in the table.
  43409. //
  43410. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  43411. // Use the tag key in the filter name and the tag value as the filter value.
  43412. // For example, to find all resources that have a tag with the key Owner
  43413. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  43414. // the filter value.
  43415. //
  43416. // * tag-key - The key of a tag assigned to the resource. Use this filter
  43417. // to find all resources assigned a tag with a specific key, regardless of
  43418. // the tag value.
  43419. //
  43420. // * transit-gateway-id - The ID of a transit gateway.
  43421. //
  43422. // * vpc-id - The ID of the VPC for the route table.
  43423. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43424. // The maximum number of results to return with a single call. To retrieve the
  43425. // remaining results, make another call with the returned nextToken value.
  43426. MaxResults *int64 `type:"integer"`
  43427. // The token for the next page of results.
  43428. NextToken *string `type:"string"`
  43429. // One or more route table IDs.
  43430. //
  43431. // Default: Describes all your route tables.
  43432. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  43433. }
  43434. // String returns the string representation
  43435. func (s DescribeRouteTablesInput) String() string {
  43436. return awsutil.Prettify(s)
  43437. }
  43438. // GoString returns the string representation
  43439. func (s DescribeRouteTablesInput) GoString() string {
  43440. return s.String()
  43441. }
  43442. // SetDryRun sets the DryRun field's value.
  43443. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  43444. s.DryRun = &v
  43445. return s
  43446. }
  43447. // SetFilters sets the Filters field's value.
  43448. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  43449. s.Filters = v
  43450. return s
  43451. }
  43452. // SetMaxResults sets the MaxResults field's value.
  43453. func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
  43454. s.MaxResults = &v
  43455. return s
  43456. }
  43457. // SetNextToken sets the NextToken field's value.
  43458. func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
  43459. s.NextToken = &v
  43460. return s
  43461. }
  43462. // SetRouteTableIds sets the RouteTableIds field's value.
  43463. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  43464. s.RouteTableIds = v
  43465. return s
  43466. }
  43467. // Contains the output of DescribeRouteTables.
  43468. type DescribeRouteTablesOutput struct {
  43469. _ struct{} `type:"structure"`
  43470. // The token to use to retrieve the next page of results. This value is null
  43471. // when there are no more results to return.
  43472. NextToken *string `locationName:"nextToken" type:"string"`
  43473. // Information about one or more route tables.
  43474. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  43475. }
  43476. // String returns the string representation
  43477. func (s DescribeRouteTablesOutput) String() string {
  43478. return awsutil.Prettify(s)
  43479. }
  43480. // GoString returns the string representation
  43481. func (s DescribeRouteTablesOutput) GoString() string {
  43482. return s.String()
  43483. }
  43484. // SetNextToken sets the NextToken field's value.
  43485. func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
  43486. s.NextToken = &v
  43487. return s
  43488. }
  43489. // SetRouteTables sets the RouteTables field's value.
  43490. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  43491. s.RouteTables = v
  43492. return s
  43493. }
  43494. // Contains the parameters for DescribeScheduledInstanceAvailability.
  43495. type DescribeScheduledInstanceAvailabilityInput struct {
  43496. _ struct{} `type:"structure"`
  43497. // Checks whether you have the required permissions for the action, without
  43498. // actually making the request, and provides an error response. If you have
  43499. // the required permissions, the error response is DryRunOperation. Otherwise,
  43500. // it is UnauthorizedOperation.
  43501. DryRun *bool `type:"boolean"`
  43502. // One or more filters.
  43503. //
  43504. // * availability-zone - The Availability Zone (for example, us-west-2a).
  43505. //
  43506. // * instance-type - The instance type (for example, c4.large).
  43507. //
  43508. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  43509. //
  43510. // * platform - The platform (Linux/UNIX or Windows).
  43511. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43512. // The time period for the first schedule to start.
  43513. //
  43514. // FirstSlotStartTimeRange is a required field
  43515. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  43516. // The maximum number of results to return in a single call. This value can
  43517. // be between 5 and 300. The default value is 300. To retrieve the remaining
  43518. // results, make another call with the returned NextToken value.
  43519. MaxResults *int64 `type:"integer"`
  43520. // The maximum available duration, in hours. This value must be greater than
  43521. // MinSlotDurationInHours and less than 1,720.
  43522. MaxSlotDurationInHours *int64 `type:"integer"`
  43523. // The minimum available duration, in hours. The minimum required duration is
  43524. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  43525. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  43526. // is 100 hours.
  43527. MinSlotDurationInHours *int64 `type:"integer"`
  43528. // The token for the next set of results.
  43529. NextToken *string `type:"string"`
  43530. // The schedule recurrence.
  43531. //
  43532. // Recurrence is a required field
  43533. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  43534. }
  43535. // String returns the string representation
  43536. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  43537. return awsutil.Prettify(s)
  43538. }
  43539. // GoString returns the string representation
  43540. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  43541. return s.String()
  43542. }
  43543. // Validate inspects the fields of the type to determine if they are valid.
  43544. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  43545. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  43546. if s.FirstSlotStartTimeRange == nil {
  43547. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  43548. }
  43549. if s.Recurrence == nil {
  43550. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  43551. }
  43552. if s.FirstSlotStartTimeRange != nil {
  43553. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  43554. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  43555. }
  43556. }
  43557. if invalidParams.Len() > 0 {
  43558. return invalidParams
  43559. }
  43560. return nil
  43561. }
  43562. // SetDryRun sets the DryRun field's value.
  43563. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  43564. s.DryRun = &v
  43565. return s
  43566. }
  43567. // SetFilters sets the Filters field's value.
  43568. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  43569. s.Filters = v
  43570. return s
  43571. }
  43572. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  43573. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  43574. s.FirstSlotStartTimeRange = v
  43575. return s
  43576. }
  43577. // SetMaxResults sets the MaxResults field's value.
  43578. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  43579. s.MaxResults = &v
  43580. return s
  43581. }
  43582. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  43583. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  43584. s.MaxSlotDurationInHours = &v
  43585. return s
  43586. }
  43587. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  43588. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  43589. s.MinSlotDurationInHours = &v
  43590. return s
  43591. }
  43592. // SetNextToken sets the NextToken field's value.
  43593. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  43594. s.NextToken = &v
  43595. return s
  43596. }
  43597. // SetRecurrence sets the Recurrence field's value.
  43598. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  43599. s.Recurrence = v
  43600. return s
  43601. }
  43602. // Contains the output of DescribeScheduledInstanceAvailability.
  43603. type DescribeScheduledInstanceAvailabilityOutput struct {
  43604. _ struct{} `type:"structure"`
  43605. // The token required to retrieve the next set of results. This value is null
  43606. // when there are no more results to return.
  43607. NextToken *string `locationName:"nextToken" type:"string"`
  43608. // Information about the available Scheduled Instances.
  43609. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  43610. }
  43611. // String returns the string representation
  43612. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  43613. return awsutil.Prettify(s)
  43614. }
  43615. // GoString returns the string representation
  43616. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  43617. return s.String()
  43618. }
  43619. // SetNextToken sets the NextToken field's value.
  43620. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  43621. s.NextToken = &v
  43622. return s
  43623. }
  43624. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  43625. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  43626. s.ScheduledInstanceAvailabilitySet = v
  43627. return s
  43628. }
  43629. // Contains the parameters for DescribeScheduledInstances.
  43630. type DescribeScheduledInstancesInput struct {
  43631. _ struct{} `type:"structure"`
  43632. // Checks whether you have the required permissions for the action, without
  43633. // actually making the request, and provides an error response. If you have
  43634. // the required permissions, the error response is DryRunOperation. Otherwise,
  43635. // it is UnauthorizedOperation.
  43636. DryRun *bool `type:"boolean"`
  43637. // One or more filters.
  43638. //
  43639. // * availability-zone - The Availability Zone (for example, us-west-2a).
  43640. //
  43641. // * instance-type - The instance type (for example, c4.large).
  43642. //
  43643. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  43644. //
  43645. // * platform - The platform (Linux/UNIX or Windows).
  43646. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43647. // The maximum number of results to return in a single call. This value can
  43648. // be between 5 and 300. The default value is 100. To retrieve the remaining
  43649. // results, make another call with the returned NextToken value.
  43650. MaxResults *int64 `type:"integer"`
  43651. // The token for the next set of results.
  43652. NextToken *string `type:"string"`
  43653. // One or more Scheduled Instance IDs.
  43654. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  43655. // The time period for the first schedule to start.
  43656. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  43657. }
  43658. // String returns the string representation
  43659. func (s DescribeScheduledInstancesInput) String() string {
  43660. return awsutil.Prettify(s)
  43661. }
  43662. // GoString returns the string representation
  43663. func (s DescribeScheduledInstancesInput) GoString() string {
  43664. return s.String()
  43665. }
  43666. // SetDryRun sets the DryRun field's value.
  43667. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  43668. s.DryRun = &v
  43669. return s
  43670. }
  43671. // SetFilters sets the Filters field's value.
  43672. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  43673. s.Filters = v
  43674. return s
  43675. }
  43676. // SetMaxResults sets the MaxResults field's value.
  43677. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  43678. s.MaxResults = &v
  43679. return s
  43680. }
  43681. // SetNextToken sets the NextToken field's value.
  43682. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  43683. s.NextToken = &v
  43684. return s
  43685. }
  43686. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  43687. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  43688. s.ScheduledInstanceIds = v
  43689. return s
  43690. }
  43691. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  43692. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  43693. s.SlotStartTimeRange = v
  43694. return s
  43695. }
  43696. // Contains the output of DescribeScheduledInstances.
  43697. type DescribeScheduledInstancesOutput struct {
  43698. _ struct{} `type:"structure"`
  43699. // The token required to retrieve the next set of results. This value is null
  43700. // when there are no more results to return.
  43701. NextToken *string `locationName:"nextToken" type:"string"`
  43702. // Information about the Scheduled Instances.
  43703. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  43704. }
  43705. // String returns the string representation
  43706. func (s DescribeScheduledInstancesOutput) String() string {
  43707. return awsutil.Prettify(s)
  43708. }
  43709. // GoString returns the string representation
  43710. func (s DescribeScheduledInstancesOutput) GoString() string {
  43711. return s.String()
  43712. }
  43713. // SetNextToken sets the NextToken field's value.
  43714. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  43715. s.NextToken = &v
  43716. return s
  43717. }
  43718. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  43719. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  43720. s.ScheduledInstanceSet = v
  43721. return s
  43722. }
  43723. type DescribeSecurityGroupReferencesInput struct {
  43724. _ struct{} `type:"structure"`
  43725. // Checks whether you have the required permissions for the action, without
  43726. // actually making the request, and provides an error response. If you have
  43727. // the required permissions, the error response is DryRunOperation. Otherwise,
  43728. // it is UnauthorizedOperation.
  43729. DryRun *bool `type:"boolean"`
  43730. // One or more security group IDs in your account.
  43731. //
  43732. // GroupId is a required field
  43733. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  43734. }
  43735. // String returns the string representation
  43736. func (s DescribeSecurityGroupReferencesInput) String() string {
  43737. return awsutil.Prettify(s)
  43738. }
  43739. // GoString returns the string representation
  43740. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  43741. return s.String()
  43742. }
  43743. // Validate inspects the fields of the type to determine if they are valid.
  43744. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  43745. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  43746. if s.GroupId == nil {
  43747. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  43748. }
  43749. if invalidParams.Len() > 0 {
  43750. return invalidParams
  43751. }
  43752. return nil
  43753. }
  43754. // SetDryRun sets the DryRun field's value.
  43755. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  43756. s.DryRun = &v
  43757. return s
  43758. }
  43759. // SetGroupId sets the GroupId field's value.
  43760. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  43761. s.GroupId = v
  43762. return s
  43763. }
  43764. type DescribeSecurityGroupReferencesOutput struct {
  43765. _ struct{} `type:"structure"`
  43766. // Information about the VPCs with the referencing security groups.
  43767. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  43768. }
  43769. // String returns the string representation
  43770. func (s DescribeSecurityGroupReferencesOutput) String() string {
  43771. return awsutil.Prettify(s)
  43772. }
  43773. // GoString returns the string representation
  43774. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  43775. return s.String()
  43776. }
  43777. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  43778. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  43779. s.SecurityGroupReferenceSet = v
  43780. return s
  43781. }
  43782. type DescribeSecurityGroupsInput struct {
  43783. _ struct{} `type:"structure"`
  43784. // Checks whether you have the required permissions for the action, without
  43785. // actually making the request, and provides an error response. If you have
  43786. // the required permissions, the error response is DryRunOperation. Otherwise,
  43787. // it is UnauthorizedOperation.
  43788. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43789. // One or more filters. If using multiple filters for rules, the results include
  43790. // security groups for which any combination of rules - not necessarily a single
  43791. // rule - match all filters.
  43792. //
  43793. // * description - The description of the security group.
  43794. //
  43795. // * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
  43796. // group rule.
  43797. //
  43798. // * egress.ip-permission.from-port - For an outbound rule, the start of
  43799. // port range for the TCP and UDP protocols, or an ICMP type number.
  43800. //
  43801. // * egress.ip-permission.group-id - The ID of a security group that has
  43802. // been referenced in an outbound security group rule.
  43803. //
  43804. // * egress.ip-permission.group-name - The name of a security group that
  43805. // has been referenced in an outbound security group rule.
  43806. //
  43807. // * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
  43808. // security group rule.
  43809. //
  43810. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  43811. // to which a security group rule allows outbound access.
  43812. //
  43813. // * egress.ip-permission.protocol - The IP protocol for an outbound security
  43814. // group rule (tcp | udp | icmp or a protocol number).
  43815. //
  43816. // * egress.ip-permission.to-port - For an outbound rule, the end of port
  43817. // range for the TCP and UDP protocols, or an ICMP code.
  43818. //
  43819. // * egress.ip-permission.user-id - The ID of an AWS account that has been
  43820. // referenced in an outbound security group rule.
  43821. //
  43822. // * group-id - The ID of the security group.
  43823. //
  43824. // * group-name - The name of the security group.
  43825. //
  43826. // * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
  43827. // rule.
  43828. //
  43829. // * ip-permission.from-port - For an inbound rule, the start of port range
  43830. // for the TCP and UDP protocols, or an ICMP type number.
  43831. //
  43832. // * ip-permission.group-id - The ID of a security group that has been referenced
  43833. // in an inbound security group rule.
  43834. //
  43835. // * ip-permission.group-name - The name of a security group that has been
  43836. // referenced in an inbound security group rule.
  43837. //
  43838. // * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
  43839. // group rule.
  43840. //
  43841. // * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
  43842. // which a security group rule allows inbound access.
  43843. //
  43844. // * ip-permission.protocol - The IP protocol for an inbound security group
  43845. // rule (tcp | udp | icmp or a protocol number).
  43846. //
  43847. // * ip-permission.to-port - For an inbound rule, the end of port range for
  43848. // the TCP and UDP protocols, or an ICMP code.
  43849. //
  43850. // * ip-permission.user-id - The ID of an AWS account that has been referenced
  43851. // in an inbound security group rule.
  43852. //
  43853. // * owner-id - The AWS account ID of the owner of the security group.
  43854. //
  43855. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  43856. // Use the tag key in the filter name and the tag value as the filter value.
  43857. // For example, to find all resources that have a tag with the key Owner
  43858. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  43859. // the filter value.
  43860. //
  43861. // * tag-key - The key of a tag assigned to the resource. Use this filter
  43862. // to find all resources assigned a tag with a specific key, regardless of
  43863. // the tag value.
  43864. //
  43865. // * vpc-id - The ID of the VPC specified when the security group was created.
  43866. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  43867. // One or more security group IDs. Required for security groups in a nondefault
  43868. // VPC.
  43869. //
  43870. // Default: Describes all your security groups.
  43871. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  43872. // [EC2-Classic and default VPC only] One or more security group names. You
  43873. // can specify either the security group name or the security group ID. For
  43874. // security groups in a nondefault VPC, use the group-name filter to describe
  43875. // security groups by name.
  43876. //
  43877. // Default: Describes all your security groups.
  43878. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  43879. // The maximum number of results to return in a single call. To retrieve the
  43880. // remaining results, make another request with the returned NextToken value.
  43881. // This value can be between 5 and 1000. If this parameter is not specified,
  43882. // then all results are returned.
  43883. MaxResults *int64 `type:"integer"`
  43884. // The token to request the next page of results.
  43885. NextToken *string `type:"string"`
  43886. }
  43887. // String returns the string representation
  43888. func (s DescribeSecurityGroupsInput) String() string {
  43889. return awsutil.Prettify(s)
  43890. }
  43891. // GoString returns the string representation
  43892. func (s DescribeSecurityGroupsInput) GoString() string {
  43893. return s.String()
  43894. }
  43895. // SetDryRun sets the DryRun field's value.
  43896. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  43897. s.DryRun = &v
  43898. return s
  43899. }
  43900. // SetFilters sets the Filters field's value.
  43901. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  43902. s.Filters = v
  43903. return s
  43904. }
  43905. // SetGroupIds sets the GroupIds field's value.
  43906. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  43907. s.GroupIds = v
  43908. return s
  43909. }
  43910. // SetGroupNames sets the GroupNames field's value.
  43911. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  43912. s.GroupNames = v
  43913. return s
  43914. }
  43915. // SetMaxResults sets the MaxResults field's value.
  43916. func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
  43917. s.MaxResults = &v
  43918. return s
  43919. }
  43920. // SetNextToken sets the NextToken field's value.
  43921. func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
  43922. s.NextToken = &v
  43923. return s
  43924. }
  43925. type DescribeSecurityGroupsOutput struct {
  43926. _ struct{} `type:"structure"`
  43927. // The token to use to retrieve the next page of results. This value is null
  43928. // when there are no more results to return.
  43929. NextToken *string `locationName:"nextToken" type:"string"`
  43930. // Information about one or more security groups.
  43931. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  43932. }
  43933. // String returns the string representation
  43934. func (s DescribeSecurityGroupsOutput) String() string {
  43935. return awsutil.Prettify(s)
  43936. }
  43937. // GoString returns the string representation
  43938. func (s DescribeSecurityGroupsOutput) GoString() string {
  43939. return s.String()
  43940. }
  43941. // SetNextToken sets the NextToken field's value.
  43942. func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
  43943. s.NextToken = &v
  43944. return s
  43945. }
  43946. // SetSecurityGroups sets the SecurityGroups field's value.
  43947. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  43948. s.SecurityGroups = v
  43949. return s
  43950. }
  43951. // Contains the parameters for DescribeSnapshotAttribute.
  43952. type DescribeSnapshotAttributeInput struct {
  43953. _ struct{} `type:"structure"`
  43954. // The snapshot attribute you would like to view.
  43955. //
  43956. // Attribute is a required field
  43957. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  43958. // Checks whether you have the required permissions for the action, without
  43959. // actually making the request, and provides an error response. If you have
  43960. // the required permissions, the error response is DryRunOperation. Otherwise,
  43961. // it is UnauthorizedOperation.
  43962. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43963. // The ID of the EBS snapshot.
  43964. //
  43965. // SnapshotId is a required field
  43966. SnapshotId *string `type:"string" required:"true"`
  43967. }
  43968. // String returns the string representation
  43969. func (s DescribeSnapshotAttributeInput) String() string {
  43970. return awsutil.Prettify(s)
  43971. }
  43972. // GoString returns the string representation
  43973. func (s DescribeSnapshotAttributeInput) GoString() string {
  43974. return s.String()
  43975. }
  43976. // Validate inspects the fields of the type to determine if they are valid.
  43977. func (s *DescribeSnapshotAttributeInput) Validate() error {
  43978. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  43979. if s.Attribute == nil {
  43980. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  43981. }
  43982. if s.SnapshotId == nil {
  43983. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  43984. }
  43985. if invalidParams.Len() > 0 {
  43986. return invalidParams
  43987. }
  43988. return nil
  43989. }
  43990. // SetAttribute sets the Attribute field's value.
  43991. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  43992. s.Attribute = &v
  43993. return s
  43994. }
  43995. // SetDryRun sets the DryRun field's value.
  43996. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  43997. s.DryRun = &v
  43998. return s
  43999. }
  44000. // SetSnapshotId sets the SnapshotId field's value.
  44001. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  44002. s.SnapshotId = &v
  44003. return s
  44004. }
  44005. // Contains the output of DescribeSnapshotAttribute.
  44006. type DescribeSnapshotAttributeOutput struct {
  44007. _ struct{} `type:"structure"`
  44008. // The users and groups that have the permissions for creating volumes from
  44009. // the snapshot.
  44010. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  44011. // The product codes.
  44012. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  44013. // The ID of the EBS snapshot.
  44014. SnapshotId *string `locationName:"snapshotId" type:"string"`
  44015. }
  44016. // String returns the string representation
  44017. func (s DescribeSnapshotAttributeOutput) String() string {
  44018. return awsutil.Prettify(s)
  44019. }
  44020. // GoString returns the string representation
  44021. func (s DescribeSnapshotAttributeOutput) GoString() string {
  44022. return s.String()
  44023. }
  44024. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  44025. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  44026. s.CreateVolumePermissions = v
  44027. return s
  44028. }
  44029. // SetProductCodes sets the ProductCodes field's value.
  44030. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  44031. s.ProductCodes = v
  44032. return s
  44033. }
  44034. // SetSnapshotId sets the SnapshotId field's value.
  44035. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  44036. s.SnapshotId = &v
  44037. return s
  44038. }
  44039. // Contains the parameters for DescribeSnapshots.
  44040. type DescribeSnapshotsInput struct {
  44041. _ struct{} `type:"structure"`
  44042. // Checks whether you have the required permissions for the action, without
  44043. // actually making the request, and provides an error response. If you have
  44044. // the required permissions, the error response is DryRunOperation. Otherwise,
  44045. // it is UnauthorizedOperation.
  44046. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44047. // One or more filters.
  44048. //
  44049. // * description - A description of the snapshot.
  44050. //
  44051. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  44052. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  44053. // AWS account alias, which is set from the IAM console.
  44054. //
  44055. // * owner-id - The ID of the AWS account that owns the snapshot.
  44056. //
  44057. // * progress - The progress of the snapshot, as a percentage (for example,
  44058. // 80%).
  44059. //
  44060. // * snapshot-id - The snapshot ID.
  44061. //
  44062. // * start-time - The time stamp when the snapshot was initiated.
  44063. //
  44064. // * status - The status of the snapshot (pending | completed | error).
  44065. //
  44066. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  44067. // Use the tag key in the filter name and the tag value as the filter value.
  44068. // For example, to find all resources that have a tag with the key Owner
  44069. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  44070. // the filter value.
  44071. //
  44072. // * tag-key - The key of a tag assigned to the resource. Use this filter
  44073. // to find all resources assigned a tag with a specific key, regardless of
  44074. // the tag value.
  44075. //
  44076. // * volume-id - The ID of the volume the snapshot is for.
  44077. //
  44078. // * volume-size - The size of the volume, in GiB.
  44079. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  44080. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  44081. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  44082. // results in a single page along with a NextToken response element. The remaining
  44083. // results of the initial request can be seen by sending another DescribeSnapshots
  44084. // request with the returned NextToken value. This value can be between 5 and
  44085. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  44086. // are returned. If this parameter is not used, then DescribeSnapshots returns
  44087. // all results. You cannot specify this parameter and the snapshot IDs parameter
  44088. // in the same request.
  44089. MaxResults *int64 `type:"integer"`
  44090. // The NextToken value returned from a previous paginated DescribeSnapshots
  44091. // request where MaxResults was used and the results exceeded the value of that
  44092. // parameter. Pagination continues from the end of the previous results that
  44093. // returned the NextToken value. This value is null when there are no more results
  44094. // to return.
  44095. NextToken *string `type:"string"`
  44096. // Describes the snapshots owned by one or more owners.
  44097. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  44098. // One or more AWS accounts IDs that can create volumes from the snapshot.
  44099. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  44100. // One or more snapshot IDs.
  44101. //
  44102. // Default: Describes the snapshots for which you have create volume permissions.
  44103. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  44104. }
  44105. // String returns the string representation
  44106. func (s DescribeSnapshotsInput) String() string {
  44107. return awsutil.Prettify(s)
  44108. }
  44109. // GoString returns the string representation
  44110. func (s DescribeSnapshotsInput) GoString() string {
  44111. return s.String()
  44112. }
  44113. // SetDryRun sets the DryRun field's value.
  44114. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  44115. s.DryRun = &v
  44116. return s
  44117. }
  44118. // SetFilters sets the Filters field's value.
  44119. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  44120. s.Filters = v
  44121. return s
  44122. }
  44123. // SetMaxResults sets the MaxResults field's value.
  44124. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  44125. s.MaxResults = &v
  44126. return s
  44127. }
  44128. // SetNextToken sets the NextToken field's value.
  44129. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  44130. s.NextToken = &v
  44131. return s
  44132. }
  44133. // SetOwnerIds sets the OwnerIds field's value.
  44134. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  44135. s.OwnerIds = v
  44136. return s
  44137. }
  44138. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  44139. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  44140. s.RestorableByUserIds = v
  44141. return s
  44142. }
  44143. // SetSnapshotIds sets the SnapshotIds field's value.
  44144. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  44145. s.SnapshotIds = v
  44146. return s
  44147. }
  44148. // Contains the output of DescribeSnapshots.
  44149. type DescribeSnapshotsOutput struct {
  44150. _ struct{} `type:"structure"`
  44151. // The NextToken value to include in a future DescribeSnapshots request. When
  44152. // the results of a DescribeSnapshots request exceed MaxResults, this value
  44153. // can be used to retrieve the next page of results. This value is null when
  44154. // there are no more results to return.
  44155. NextToken *string `locationName:"nextToken" type:"string"`
  44156. // Information about the snapshots.
  44157. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  44158. }
  44159. // String returns the string representation
  44160. func (s DescribeSnapshotsOutput) String() string {
  44161. return awsutil.Prettify(s)
  44162. }
  44163. // GoString returns the string representation
  44164. func (s DescribeSnapshotsOutput) GoString() string {
  44165. return s.String()
  44166. }
  44167. // SetNextToken sets the NextToken field's value.
  44168. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  44169. s.NextToken = &v
  44170. return s
  44171. }
  44172. // SetSnapshots sets the Snapshots field's value.
  44173. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  44174. s.Snapshots = v
  44175. return s
  44176. }
  44177. // Contains the parameters for DescribeSpotDatafeedSubscription.
  44178. type DescribeSpotDatafeedSubscriptionInput struct {
  44179. _ struct{} `type:"structure"`
  44180. // Checks whether you have the required permissions for the action, without
  44181. // actually making the request, and provides an error response. If you have
  44182. // the required permissions, the error response is DryRunOperation. Otherwise,
  44183. // it is UnauthorizedOperation.
  44184. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44185. }
  44186. // String returns the string representation
  44187. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  44188. return awsutil.Prettify(s)
  44189. }
  44190. // GoString returns the string representation
  44191. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  44192. return s.String()
  44193. }
  44194. // SetDryRun sets the DryRun field's value.
  44195. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  44196. s.DryRun = &v
  44197. return s
  44198. }
  44199. // Contains the output of DescribeSpotDatafeedSubscription.
  44200. type DescribeSpotDatafeedSubscriptionOutput struct {
  44201. _ struct{} `type:"structure"`
  44202. // The Spot Instance data feed subscription.
  44203. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  44204. }
  44205. // String returns the string representation
  44206. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  44207. return awsutil.Prettify(s)
  44208. }
  44209. // GoString returns the string representation
  44210. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  44211. return s.String()
  44212. }
  44213. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  44214. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  44215. s.SpotDatafeedSubscription = v
  44216. return s
  44217. }
  44218. // Contains the parameters for DescribeSpotFleetInstances.
  44219. type DescribeSpotFleetInstancesInput struct {
  44220. _ struct{} `type:"structure"`
  44221. // Checks whether you have the required permissions for the action, without
  44222. // actually making the request, and provides an error response. If you have
  44223. // the required permissions, the error response is DryRunOperation. Otherwise,
  44224. // it is UnauthorizedOperation.
  44225. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44226. // The maximum number of results to return in a single call. Specify a value
  44227. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  44228. // results, make another call with the returned NextToken value.
  44229. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  44230. // The token for the next set of results.
  44231. NextToken *string `locationName:"nextToken" type:"string"`
  44232. // The ID of the Spot Fleet request.
  44233. //
  44234. // SpotFleetRequestId is a required field
  44235. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  44236. }
  44237. // String returns the string representation
  44238. func (s DescribeSpotFleetInstancesInput) String() string {
  44239. return awsutil.Prettify(s)
  44240. }
  44241. // GoString returns the string representation
  44242. func (s DescribeSpotFleetInstancesInput) GoString() string {
  44243. return s.String()
  44244. }
  44245. // Validate inspects the fields of the type to determine if they are valid.
  44246. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  44247. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  44248. if s.SpotFleetRequestId == nil {
  44249. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  44250. }
  44251. if invalidParams.Len() > 0 {
  44252. return invalidParams
  44253. }
  44254. return nil
  44255. }
  44256. // SetDryRun sets the DryRun field's value.
  44257. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  44258. s.DryRun = &v
  44259. return s
  44260. }
  44261. // SetMaxResults sets the MaxResults field's value.
  44262. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  44263. s.MaxResults = &v
  44264. return s
  44265. }
  44266. // SetNextToken sets the NextToken field's value.
  44267. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  44268. s.NextToken = &v
  44269. return s
  44270. }
  44271. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  44272. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  44273. s.SpotFleetRequestId = &v
  44274. return s
  44275. }
  44276. // Contains the output of DescribeSpotFleetInstances.
  44277. type DescribeSpotFleetInstancesOutput struct {
  44278. _ struct{} `type:"structure"`
  44279. // The running instances. This list is refreshed periodically and might be out
  44280. // of date.
  44281. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
  44282. // The token required to retrieve the next set of results. This value is null
  44283. // when there are no more results to return.
  44284. NextToken *string `locationName:"nextToken" type:"string"`
  44285. // The ID of the Spot Fleet request.
  44286. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  44287. }
  44288. // String returns the string representation
  44289. func (s DescribeSpotFleetInstancesOutput) String() string {
  44290. return awsutil.Prettify(s)
  44291. }
  44292. // GoString returns the string representation
  44293. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  44294. return s.String()
  44295. }
  44296. // SetActiveInstances sets the ActiveInstances field's value.
  44297. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  44298. s.ActiveInstances = v
  44299. return s
  44300. }
  44301. // SetNextToken sets the NextToken field's value.
  44302. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  44303. s.NextToken = &v
  44304. return s
  44305. }
  44306. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  44307. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  44308. s.SpotFleetRequestId = &v
  44309. return s
  44310. }
  44311. // Contains the parameters for DescribeSpotFleetRequestHistory.
  44312. type DescribeSpotFleetRequestHistoryInput struct {
  44313. _ struct{} `type:"structure"`
  44314. // Checks whether you have the required permissions for the action, without
  44315. // actually making the request, and provides an error response. If you have
  44316. // the required permissions, the error response is DryRunOperation. Otherwise,
  44317. // it is UnauthorizedOperation.
  44318. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44319. // The type of events to describe. By default, all events are described.
  44320. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  44321. // The maximum number of results to return in a single call. Specify a value
  44322. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  44323. // results, make another call with the returned NextToken value.
  44324. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  44325. // The token for the next set of results.
  44326. NextToken *string `locationName:"nextToken" type:"string"`
  44327. // The ID of the Spot Fleet request.
  44328. //
  44329. // SpotFleetRequestId is a required field
  44330. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  44331. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  44332. //
  44333. // StartTime is a required field
  44334. StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
  44335. }
  44336. // String returns the string representation
  44337. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  44338. return awsutil.Prettify(s)
  44339. }
  44340. // GoString returns the string representation
  44341. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  44342. return s.String()
  44343. }
  44344. // Validate inspects the fields of the type to determine if they are valid.
  44345. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  44346. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  44347. if s.SpotFleetRequestId == nil {
  44348. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  44349. }
  44350. if s.StartTime == nil {
  44351. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  44352. }
  44353. if invalidParams.Len() > 0 {
  44354. return invalidParams
  44355. }
  44356. return nil
  44357. }
  44358. // SetDryRun sets the DryRun field's value.
  44359. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  44360. s.DryRun = &v
  44361. return s
  44362. }
  44363. // SetEventType sets the EventType field's value.
  44364. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  44365. s.EventType = &v
  44366. return s
  44367. }
  44368. // SetMaxResults sets the MaxResults field's value.
  44369. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  44370. s.MaxResults = &v
  44371. return s
  44372. }
  44373. // SetNextToken sets the NextToken field's value.
  44374. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  44375. s.NextToken = &v
  44376. return s
  44377. }
  44378. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  44379. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  44380. s.SpotFleetRequestId = &v
  44381. return s
  44382. }
  44383. // SetStartTime sets the StartTime field's value.
  44384. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  44385. s.StartTime = &v
  44386. return s
  44387. }
  44388. // Contains the output of DescribeSpotFleetRequestHistory.
  44389. type DescribeSpotFleetRequestHistoryOutput struct {
  44390. _ struct{} `type:"structure"`
  44391. // Information about the events in the history of the Spot Fleet request.
  44392. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
  44393. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  44394. // All records up to this time were retrieved.
  44395. //
  44396. // If nextToken indicates that there are more results, this value is not present.
  44397. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
  44398. // The token required to retrieve the next set of results. This value is null
  44399. // when there are no more results to return.
  44400. NextToken *string `locationName:"nextToken" type:"string"`
  44401. // The ID of the Spot Fleet request.
  44402. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  44403. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  44404. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  44405. }
  44406. // String returns the string representation
  44407. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  44408. return awsutil.Prettify(s)
  44409. }
  44410. // GoString returns the string representation
  44411. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  44412. return s.String()
  44413. }
  44414. // SetHistoryRecords sets the HistoryRecords field's value.
  44415. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  44416. s.HistoryRecords = v
  44417. return s
  44418. }
  44419. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  44420. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  44421. s.LastEvaluatedTime = &v
  44422. return s
  44423. }
  44424. // SetNextToken sets the NextToken field's value.
  44425. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  44426. s.NextToken = &v
  44427. return s
  44428. }
  44429. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  44430. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  44431. s.SpotFleetRequestId = &v
  44432. return s
  44433. }
  44434. // SetStartTime sets the StartTime field's value.
  44435. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  44436. s.StartTime = &v
  44437. return s
  44438. }
  44439. // Contains the parameters for DescribeSpotFleetRequests.
  44440. type DescribeSpotFleetRequestsInput struct {
  44441. _ struct{} `type:"structure"`
  44442. // Checks whether you have the required permissions for the action, without
  44443. // actually making the request, and provides an error response. If you have
  44444. // the required permissions, the error response is DryRunOperation. Otherwise,
  44445. // it is UnauthorizedOperation.
  44446. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44447. // The maximum number of results to return in a single call. Specify a value
  44448. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  44449. // results, make another call with the returned NextToken value.
  44450. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  44451. // The token for the next set of results.
  44452. NextToken *string `locationName:"nextToken" type:"string"`
  44453. // The IDs of the Spot Fleet requests.
  44454. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  44455. }
  44456. // String returns the string representation
  44457. func (s DescribeSpotFleetRequestsInput) String() string {
  44458. return awsutil.Prettify(s)
  44459. }
  44460. // GoString returns the string representation
  44461. func (s DescribeSpotFleetRequestsInput) GoString() string {
  44462. return s.String()
  44463. }
  44464. // SetDryRun sets the DryRun field's value.
  44465. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  44466. s.DryRun = &v
  44467. return s
  44468. }
  44469. // SetMaxResults sets the MaxResults field's value.
  44470. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  44471. s.MaxResults = &v
  44472. return s
  44473. }
  44474. // SetNextToken sets the NextToken field's value.
  44475. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  44476. s.NextToken = &v
  44477. return s
  44478. }
  44479. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  44480. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  44481. s.SpotFleetRequestIds = v
  44482. return s
  44483. }
  44484. // Contains the output of DescribeSpotFleetRequests.
  44485. type DescribeSpotFleetRequestsOutput struct {
  44486. _ struct{} `type:"structure"`
  44487. // The token required to retrieve the next set of results. This value is null
  44488. // when there are no more results to return.
  44489. NextToken *string `locationName:"nextToken" type:"string"`
  44490. // Information about the configuration of your Spot Fleet.
  44491. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
  44492. }
  44493. // String returns the string representation
  44494. func (s DescribeSpotFleetRequestsOutput) String() string {
  44495. return awsutil.Prettify(s)
  44496. }
  44497. // GoString returns the string representation
  44498. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  44499. return s.String()
  44500. }
  44501. // SetNextToken sets the NextToken field's value.
  44502. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  44503. s.NextToken = &v
  44504. return s
  44505. }
  44506. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  44507. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  44508. s.SpotFleetRequestConfigs = v
  44509. return s
  44510. }
  44511. // Contains the parameters for DescribeSpotInstanceRequests.
  44512. type DescribeSpotInstanceRequestsInput struct {
  44513. _ struct{} `type:"structure"`
  44514. // Checks whether you have the required permissions for the action, without
  44515. // actually making the request, and provides an error response. If you have
  44516. // the required permissions, the error response is DryRunOperation. Otherwise,
  44517. // it is UnauthorizedOperation.
  44518. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44519. // One or more filters.
  44520. //
  44521. // * availability-zone-group - The Availability Zone group.
  44522. //
  44523. // * create-time - The time stamp when the Spot Instance request was created.
  44524. //
  44525. // * fault-code - The fault code related to the request.
  44526. //
  44527. // * fault-message - The fault message related to the request.
  44528. //
  44529. // * instance-id - The ID of the instance that fulfilled the request.
  44530. //
  44531. // * launch-group - The Spot Instance launch group.
  44532. //
  44533. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  44534. // the EBS volume is deleted on instance termination.
  44535. //
  44536. // * launch.block-device-mapping.device-name - The device name for the volume
  44537. // in the block device mapping (for example, /dev/sdh or xvdh).
  44538. //
  44539. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
  44540. // the EBS volume.
  44541. //
  44542. // * launch.block-device-mapping.volume-size - The size of the EBS volume,
  44543. // in GiB.
  44544. //
  44545. // * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
  44546. // for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
  44547. // Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  44548. //
  44549. // * launch.group-id - The ID of the security group for the instance.
  44550. //
  44551. // * launch.group-name - The name of the security group for the instance.
  44552. //
  44553. // * launch.image-id - The ID of the AMI.
  44554. //
  44555. // * launch.instance-type - The type of instance (for example, m3.medium).
  44556. //
  44557. // * launch.kernel-id - The kernel ID.
  44558. //
  44559. // * launch.key-name - The name of the key pair the instance launched with.
  44560. //
  44561. // * launch.monitoring-enabled - Whether detailed monitoring is enabled for
  44562. // the Spot Instance.
  44563. //
  44564. // * launch.ramdisk-id - The RAM disk ID.
  44565. //
  44566. // * launched-availability-zone - The Availability Zone in which the request
  44567. // is launched.
  44568. //
  44569. // * network-interface.addresses.primary - Indicates whether the IP address
  44570. // is the primary private IP address.
  44571. //
  44572. // * network-interface.delete-on-termination - Indicates whether the network
  44573. // interface is deleted when the instance is terminated.
  44574. //
  44575. // * network-interface.description - A description of the network interface.
  44576. //
  44577. // * network-interface.device-index - The index of the device for the network
  44578. // interface attachment on the instance.
  44579. //
  44580. // * network-interface.group-id - The ID of the security group associated
  44581. // with the network interface.
  44582. //
  44583. // * network-interface.network-interface-id - The ID of the network interface.
  44584. //
  44585. // * network-interface.private-ip-address - The primary private IP address
  44586. // of the network interface.
  44587. //
  44588. // * network-interface.subnet-id - The ID of the subnet for the instance.
  44589. //
  44590. // * product-description - The product description associated with the instance
  44591. // (Linux/UNIX | Windows).
  44592. //
  44593. // * spot-instance-request-id - The Spot Instance request ID.
  44594. //
  44595. // * spot-price - The maximum hourly price for any Spot Instance launched
  44596. // to fulfill the request.
  44597. //
  44598. // * state - The state of the Spot Instance request (open | active | closed
  44599. // | cancelled | failed). Spot request status information can help you track
  44600. // your Amazon EC2 Spot Instance requests. For more information, see Spot
  44601. // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  44602. // in the Amazon EC2 User Guide for Linux Instances.
  44603. //
  44604. // * status-code - The short code describing the most recent evaluation of
  44605. // your Spot Instance request.
  44606. //
  44607. // * status-message - The message explaining the status of the Spot Instance
  44608. // request.
  44609. //
  44610. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  44611. // Use the tag key in the filter name and the tag value as the filter value.
  44612. // For example, to find all resources that have a tag with the key Owner
  44613. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  44614. // the filter value.
  44615. //
  44616. // * tag-key - The key of a tag assigned to the resource. Use this filter
  44617. // to find all resources assigned a tag with a specific key, regardless of
  44618. // the tag value.
  44619. //
  44620. // * type - The type of Spot Instance request (one-time | persistent).
  44621. //
  44622. // * valid-from - The start date of the request.
  44623. //
  44624. // * valid-until - The end date of the request.
  44625. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  44626. // The maximum number of results to return in a single call. Specify a value
  44627. // between 5 and 1000. To retrieve the remaining results, make another call
  44628. // with the returned NextToken value.
  44629. MaxResults *int64 `type:"integer"`
  44630. // The token to request the next set of results. This value is null when there
  44631. // are no more results to return.
  44632. NextToken *string `type:"string"`
  44633. // One or more Spot Instance request IDs.
  44634. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  44635. }
  44636. // String returns the string representation
  44637. func (s DescribeSpotInstanceRequestsInput) String() string {
  44638. return awsutil.Prettify(s)
  44639. }
  44640. // GoString returns the string representation
  44641. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  44642. return s.String()
  44643. }
  44644. // SetDryRun sets the DryRun field's value.
  44645. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  44646. s.DryRun = &v
  44647. return s
  44648. }
  44649. // SetFilters sets the Filters field's value.
  44650. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  44651. s.Filters = v
  44652. return s
  44653. }
  44654. // SetMaxResults sets the MaxResults field's value.
  44655. func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
  44656. s.MaxResults = &v
  44657. return s
  44658. }
  44659. // SetNextToken sets the NextToken field's value.
  44660. func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
  44661. s.NextToken = &v
  44662. return s
  44663. }
  44664. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  44665. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  44666. s.SpotInstanceRequestIds = v
  44667. return s
  44668. }
  44669. // Contains the output of DescribeSpotInstanceRequests.
  44670. type DescribeSpotInstanceRequestsOutput struct {
  44671. _ struct{} `type:"structure"`
  44672. // The token to use to retrieve the next set of results. This value is null
  44673. // when there are no more results to return.
  44674. NextToken *string `locationName:"nextToken" type:"string"`
  44675. // One or more Spot Instance requests.
  44676. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  44677. }
  44678. // String returns the string representation
  44679. func (s DescribeSpotInstanceRequestsOutput) String() string {
  44680. return awsutil.Prettify(s)
  44681. }
  44682. // GoString returns the string representation
  44683. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  44684. return s.String()
  44685. }
  44686. // SetNextToken sets the NextToken field's value.
  44687. func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
  44688. s.NextToken = &v
  44689. return s
  44690. }
  44691. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  44692. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  44693. s.SpotInstanceRequests = v
  44694. return s
  44695. }
  44696. // Contains the parameters for DescribeSpotPriceHistory.
  44697. type DescribeSpotPriceHistoryInput struct {
  44698. _ struct{} `type:"structure"`
  44699. // Filters the results by the specified Availability Zone.
  44700. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44701. // Checks whether you have the required permissions for the action, without
  44702. // actually making the request, and provides an error response. If you have
  44703. // the required permissions, the error response is DryRunOperation. Otherwise,
  44704. // it is UnauthorizedOperation.
  44705. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44706. // The date and time, up to the current date, from which to stop retrieving
  44707. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  44708. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  44709. // One or more filters.
  44710. //
  44711. // * availability-zone - The Availability Zone for which prices should be
  44712. // returned.
  44713. //
  44714. // * instance-type - The type of instance (for example, m3.medium).
  44715. //
  44716. // * product-description - The product description for the Spot price (Linux/UNIX
  44717. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  44718. // VPC) | Windows (Amazon VPC)).
  44719. //
  44720. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  44721. // greater than or less than comparison is not supported).
  44722. //
  44723. // * timestamp - The time stamp of the Spot price history, in UTC format
  44724. // (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
  44725. // Greater than or less than comparison is not supported.
  44726. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  44727. // Filters the results by the specified instance types.
  44728. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  44729. // The maximum number of results to return in a single call. Specify a value
  44730. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  44731. // results, make another call with the returned NextToken value.
  44732. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  44733. // The token for the next set of results.
  44734. NextToken *string `locationName:"nextToken" type:"string"`
  44735. // Filters the results by the specified basic product descriptions.
  44736. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  44737. // The date and time, up to the past 90 days, from which to start retrieving
  44738. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  44739. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  44740. }
  44741. // String returns the string representation
  44742. func (s DescribeSpotPriceHistoryInput) String() string {
  44743. return awsutil.Prettify(s)
  44744. }
  44745. // GoString returns the string representation
  44746. func (s DescribeSpotPriceHistoryInput) GoString() string {
  44747. return s.String()
  44748. }
  44749. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44750. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  44751. s.AvailabilityZone = &v
  44752. return s
  44753. }
  44754. // SetDryRun sets the DryRun field's value.
  44755. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  44756. s.DryRun = &v
  44757. return s
  44758. }
  44759. // SetEndTime sets the EndTime field's value.
  44760. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  44761. s.EndTime = &v
  44762. return s
  44763. }
  44764. // SetFilters sets the Filters field's value.
  44765. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  44766. s.Filters = v
  44767. return s
  44768. }
  44769. // SetInstanceTypes sets the InstanceTypes field's value.
  44770. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  44771. s.InstanceTypes = v
  44772. return s
  44773. }
  44774. // SetMaxResults sets the MaxResults field's value.
  44775. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  44776. s.MaxResults = &v
  44777. return s
  44778. }
  44779. // SetNextToken sets the NextToken field's value.
  44780. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  44781. s.NextToken = &v
  44782. return s
  44783. }
  44784. // SetProductDescriptions sets the ProductDescriptions field's value.
  44785. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  44786. s.ProductDescriptions = v
  44787. return s
  44788. }
  44789. // SetStartTime sets the StartTime field's value.
  44790. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  44791. s.StartTime = &v
  44792. return s
  44793. }
  44794. // Contains the output of DescribeSpotPriceHistory.
  44795. type DescribeSpotPriceHistoryOutput struct {
  44796. _ struct{} `type:"structure"`
  44797. // The token required to retrieve the next set of results. This value is null
  44798. // or an empty string when there are no more results to return.
  44799. NextToken *string `locationName:"nextToken" type:"string"`
  44800. // The historical Spot prices.
  44801. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  44802. }
  44803. // String returns the string representation
  44804. func (s DescribeSpotPriceHistoryOutput) String() string {
  44805. return awsutil.Prettify(s)
  44806. }
  44807. // GoString returns the string representation
  44808. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  44809. return s.String()
  44810. }
  44811. // SetNextToken sets the NextToken field's value.
  44812. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  44813. s.NextToken = &v
  44814. return s
  44815. }
  44816. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  44817. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  44818. s.SpotPriceHistory = v
  44819. return s
  44820. }
  44821. type DescribeStaleSecurityGroupsInput struct {
  44822. _ struct{} `type:"structure"`
  44823. // Checks whether you have the required permissions for the action, without
  44824. // actually making the request, and provides an error response. If you have
  44825. // the required permissions, the error response is DryRunOperation. Otherwise,
  44826. // it is UnauthorizedOperation.
  44827. DryRun *bool `type:"boolean"`
  44828. // The maximum number of items to return for this request. The request returns
  44829. // a token that you can specify in a subsequent call to get the next set of
  44830. // results.
  44831. MaxResults *int64 `min:"5" type:"integer"`
  44832. // The token for the next set of items to return. (You received this token from
  44833. // a prior call.)
  44834. NextToken *string `min:"1" type:"string"`
  44835. // The ID of the VPC.
  44836. //
  44837. // VpcId is a required field
  44838. VpcId *string `type:"string" required:"true"`
  44839. }
  44840. // String returns the string representation
  44841. func (s DescribeStaleSecurityGroupsInput) String() string {
  44842. return awsutil.Prettify(s)
  44843. }
  44844. // GoString returns the string representation
  44845. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  44846. return s.String()
  44847. }
  44848. // Validate inspects the fields of the type to determine if they are valid.
  44849. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  44850. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  44851. if s.MaxResults != nil && *s.MaxResults < 5 {
  44852. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  44853. }
  44854. if s.NextToken != nil && len(*s.NextToken) < 1 {
  44855. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  44856. }
  44857. if s.VpcId == nil {
  44858. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  44859. }
  44860. if invalidParams.Len() > 0 {
  44861. return invalidParams
  44862. }
  44863. return nil
  44864. }
  44865. // SetDryRun sets the DryRun field's value.
  44866. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  44867. s.DryRun = &v
  44868. return s
  44869. }
  44870. // SetMaxResults sets the MaxResults field's value.
  44871. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  44872. s.MaxResults = &v
  44873. return s
  44874. }
  44875. // SetNextToken sets the NextToken field's value.
  44876. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  44877. s.NextToken = &v
  44878. return s
  44879. }
  44880. // SetVpcId sets the VpcId field's value.
  44881. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  44882. s.VpcId = &v
  44883. return s
  44884. }
  44885. type DescribeStaleSecurityGroupsOutput struct {
  44886. _ struct{} `type:"structure"`
  44887. // The token to use when requesting the next set of items. If there are no additional
  44888. // items to return, the string is empty.
  44889. NextToken *string `locationName:"nextToken" type:"string"`
  44890. // Information about the stale security groups.
  44891. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  44892. }
  44893. // String returns the string representation
  44894. func (s DescribeStaleSecurityGroupsOutput) String() string {
  44895. return awsutil.Prettify(s)
  44896. }
  44897. // GoString returns the string representation
  44898. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  44899. return s.String()
  44900. }
  44901. // SetNextToken sets the NextToken field's value.
  44902. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  44903. s.NextToken = &v
  44904. return s
  44905. }
  44906. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  44907. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  44908. s.StaleSecurityGroupSet = v
  44909. return s
  44910. }
  44911. type DescribeSubnetsInput struct {
  44912. _ struct{} `type:"structure"`
  44913. // Checks whether you have the required permissions for the action, without
  44914. // actually making the request, and provides an error response. If you have
  44915. // the required permissions, the error response is DryRunOperation. Otherwise,
  44916. // it is UnauthorizedOperation.
  44917. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44918. // One or more filters.
  44919. //
  44920. // * availability-zone - The Availability Zone for the subnet. You can also
  44921. // use availabilityZone as the filter name.
  44922. //
  44923. // * availability-zone-id - The ID of the Availability Zone for the subnet.
  44924. // You can also use availabilityZoneId as the filter name.
  44925. //
  44926. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  44927. // that are available.
  44928. //
  44929. // * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
  44930. // must exactly match the subnet's CIDR block for information to be returned
  44931. // for the subnet. You can also use cidr or cidrBlock as the filter names.
  44932. //
  44933. // * default-for-az - Indicates whether this is the default subnet for the
  44934. // Availability Zone. You can also use defaultForAz as the filter name.
  44935. //
  44936. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  44937. // with the subnet.
  44938. //
  44939. // * ipv6-cidr-block-association.association-id - An association ID for an
  44940. // IPv6 CIDR block associated with the subnet.
  44941. //
  44942. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  44943. // associated with the subnet.
  44944. //
  44945. // * owner-id - The ID of the AWS account that owns the subnet.
  44946. //
  44947. // * state - The state of the subnet (pending | available).
  44948. //
  44949. // * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
  44950. //
  44951. // * subnet-id - The ID of the subnet.
  44952. //
  44953. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  44954. // Use the tag key in the filter name and the tag value as the filter value.
  44955. // For example, to find all resources that have a tag with the key Owner
  44956. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  44957. // the filter value.
  44958. //
  44959. // * tag-key - The key of a tag assigned to the resource. Use this filter
  44960. // to find all resources assigned a tag with a specific key, regardless of
  44961. // the tag value.
  44962. //
  44963. // * vpc-id - The ID of the VPC for the subnet.
  44964. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  44965. // One or more subnet IDs.
  44966. //
  44967. // Default: Describes all your subnets.
  44968. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  44969. }
  44970. // String returns the string representation
  44971. func (s DescribeSubnetsInput) String() string {
  44972. return awsutil.Prettify(s)
  44973. }
  44974. // GoString returns the string representation
  44975. func (s DescribeSubnetsInput) GoString() string {
  44976. return s.String()
  44977. }
  44978. // SetDryRun sets the DryRun field's value.
  44979. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  44980. s.DryRun = &v
  44981. return s
  44982. }
  44983. // SetFilters sets the Filters field's value.
  44984. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  44985. s.Filters = v
  44986. return s
  44987. }
  44988. // SetSubnetIds sets the SubnetIds field's value.
  44989. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  44990. s.SubnetIds = v
  44991. return s
  44992. }
  44993. type DescribeSubnetsOutput struct {
  44994. _ struct{} `type:"structure"`
  44995. // Information about one or more subnets.
  44996. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  44997. }
  44998. // String returns the string representation
  44999. func (s DescribeSubnetsOutput) String() string {
  45000. return awsutil.Prettify(s)
  45001. }
  45002. // GoString returns the string representation
  45003. func (s DescribeSubnetsOutput) GoString() string {
  45004. return s.String()
  45005. }
  45006. // SetSubnets sets the Subnets field's value.
  45007. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  45008. s.Subnets = v
  45009. return s
  45010. }
  45011. type DescribeTagsInput struct {
  45012. _ struct{} `type:"structure"`
  45013. // Checks whether you have the required permissions for the action, without
  45014. // actually making the request, and provides an error response. If you have
  45015. // the required permissions, the error response is DryRunOperation. Otherwise,
  45016. // it is UnauthorizedOperation.
  45017. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45018. // One or more filters.
  45019. //
  45020. // * key - The tag key.
  45021. //
  45022. // * resource-id - The ID of the resource.
  45023. //
  45024. // * resource-type - The resource type (customer-gateway | dedicated-host
  45025. // | dhcp-options | elastic-ip | fleet | fpga-image | image | instance |
  45026. // host-reservation | internet-gateway | launch-template | natgateway | network-acl
  45027. // | network-interface | reserved-instances | route-table | security-group
  45028. // | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection
  45029. // | vpn-connection | vpn-gateway).
  45030. //
  45031. // * tag:<key> - The key/value combination of the tag. For example, specify
  45032. // "tag:Owner" for the filter name and "TeamA" for the filter value to find
  45033. // resources with the tag "Owner=TeamA".
  45034. //
  45035. // * value - The tag value.
  45036. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45037. // The maximum number of results to return in a single call. This value can
  45038. // be between 5 and 1000. To retrieve the remaining results, make another call
  45039. // with the returned NextToken value.
  45040. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  45041. // The token to retrieve the next page of results.
  45042. NextToken *string `locationName:"nextToken" type:"string"`
  45043. }
  45044. // String returns the string representation
  45045. func (s DescribeTagsInput) String() string {
  45046. return awsutil.Prettify(s)
  45047. }
  45048. // GoString returns the string representation
  45049. func (s DescribeTagsInput) GoString() string {
  45050. return s.String()
  45051. }
  45052. // SetDryRun sets the DryRun field's value.
  45053. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  45054. s.DryRun = &v
  45055. return s
  45056. }
  45057. // SetFilters sets the Filters field's value.
  45058. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  45059. s.Filters = v
  45060. return s
  45061. }
  45062. // SetMaxResults sets the MaxResults field's value.
  45063. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  45064. s.MaxResults = &v
  45065. return s
  45066. }
  45067. // SetNextToken sets the NextToken field's value.
  45068. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  45069. s.NextToken = &v
  45070. return s
  45071. }
  45072. type DescribeTagsOutput struct {
  45073. _ struct{} `type:"structure"`
  45074. // The token to use to retrieve the next page of results. This value is null
  45075. // when there are no more results to return.
  45076. NextToken *string `locationName:"nextToken" type:"string"`
  45077. // The tags.
  45078. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  45079. }
  45080. // String returns the string representation
  45081. func (s DescribeTagsOutput) String() string {
  45082. return awsutil.Prettify(s)
  45083. }
  45084. // GoString returns the string representation
  45085. func (s DescribeTagsOutput) GoString() string {
  45086. return s.String()
  45087. }
  45088. // SetNextToken sets the NextToken field's value.
  45089. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  45090. s.NextToken = &v
  45091. return s
  45092. }
  45093. // SetTags sets the Tags field's value.
  45094. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  45095. s.Tags = v
  45096. return s
  45097. }
  45098. type DescribeTransitGatewayAttachmentsInput struct {
  45099. _ struct{} `type:"structure"`
  45100. // Checks whether you have the required permissions for the action, without
  45101. // actually making the request, and provides an error response. If you have
  45102. // the required permissions, the error response is DryRunOperation. Otherwise,
  45103. // it is UnauthorizedOperation.
  45104. DryRun *bool `type:"boolean"`
  45105. // One or more filters. The possible values are:
  45106. //
  45107. // * association.state - The state of the association (associating | associated
  45108. // | disassociating).
  45109. //
  45110. // * association.transit-gateway-route-table-id - The ID of the route table
  45111. // for the transit gateway.
  45112. //
  45113. // * resource-id - The ID of the resource.
  45114. //
  45115. // * resource-owner-id - The ID of the AWS account that owns the resource.
  45116. //
  45117. // * resource-type - The resource type (vpc | vpn).
  45118. //
  45119. // * state - The state of the attachment (available | deleted | deleting
  45120. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  45121. // | rejecting).
  45122. //
  45123. // * transit-gateway-attachment-id - The ID of the attachment.
  45124. //
  45125. // * transit-gateway-id - The ID of the transit gateway.
  45126. //
  45127. // * transit-gateway-owner-id - The ID of the AWS account that owns the transit
  45128. // gateway.
  45129. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45130. // The maximum number of results to return with a single call. To retrieve the
  45131. // remaining results, make another call with the returned nextToken value.
  45132. MaxResults *int64 `min:"5" type:"integer"`
  45133. // The token for the next page of results.
  45134. NextToken *string `type:"string"`
  45135. // The IDs of the attachments.
  45136. TransitGatewayAttachmentIds []*string `type:"list"`
  45137. }
  45138. // String returns the string representation
  45139. func (s DescribeTransitGatewayAttachmentsInput) String() string {
  45140. return awsutil.Prettify(s)
  45141. }
  45142. // GoString returns the string representation
  45143. func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
  45144. return s.String()
  45145. }
  45146. // Validate inspects the fields of the type to determine if they are valid.
  45147. func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
  45148. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
  45149. if s.MaxResults != nil && *s.MaxResults < 5 {
  45150. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  45151. }
  45152. if invalidParams.Len() > 0 {
  45153. return invalidParams
  45154. }
  45155. return nil
  45156. }
  45157. // SetDryRun sets the DryRun field's value.
  45158. func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
  45159. s.DryRun = &v
  45160. return s
  45161. }
  45162. // SetFilters sets the Filters field's value.
  45163. func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
  45164. s.Filters = v
  45165. return s
  45166. }
  45167. // SetMaxResults sets the MaxResults field's value.
  45168. func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
  45169. s.MaxResults = &v
  45170. return s
  45171. }
  45172. // SetNextToken sets the NextToken field's value.
  45173. func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
  45174. s.NextToken = &v
  45175. return s
  45176. }
  45177. // SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
  45178. func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
  45179. s.TransitGatewayAttachmentIds = v
  45180. return s
  45181. }
  45182. type DescribeTransitGatewayAttachmentsOutput struct {
  45183. _ struct{} `type:"structure"`
  45184. // The token to use to retrieve the next page of results. This value is null
  45185. // when there are no more results to return.
  45186. NextToken *string `locationName:"nextToken" type:"string"`
  45187. // Information about the attachments.
  45188. TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
  45189. }
  45190. // String returns the string representation
  45191. func (s DescribeTransitGatewayAttachmentsOutput) String() string {
  45192. return awsutil.Prettify(s)
  45193. }
  45194. // GoString returns the string representation
  45195. func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
  45196. return s.String()
  45197. }
  45198. // SetNextToken sets the NextToken field's value.
  45199. func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
  45200. s.NextToken = &v
  45201. return s
  45202. }
  45203. // SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
  45204. func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
  45205. s.TransitGatewayAttachments = v
  45206. return s
  45207. }
  45208. type DescribeTransitGatewayRouteTablesInput struct {
  45209. _ struct{} `type:"structure"`
  45210. // Checks whether you have the required permissions for the action, without
  45211. // actually making the request, and provides an error response. If you have
  45212. // the required permissions, the error response is DryRunOperation. Otherwise,
  45213. // it is UnauthorizedOperation.
  45214. DryRun *bool `type:"boolean"`
  45215. // One or more filters. The possible values are:
  45216. //
  45217. // * default-association-route-table - Indicates whether this is the default
  45218. // association route table for the transit gateway (true | false).
  45219. //
  45220. // * default-propagation-route-table - Indicates whether this is the default
  45221. // propagation route table for the transit gateway (true | false).
  45222. //
  45223. // * state - The state of the attachment (available | deleted | deleting
  45224. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  45225. // | rejecting).
  45226. //
  45227. // * transit-gateway-id - The ID of the transit gateway.
  45228. //
  45229. // * transit-gateway-route-table-id - The ID of the transit gateway route
  45230. // table.
  45231. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45232. // The maximum number of results to return with a single call. To retrieve the
  45233. // remaining results, make another call with the returned nextToken value.
  45234. MaxResults *int64 `min:"5" type:"integer"`
  45235. // The token for the next page of results.
  45236. NextToken *string `type:"string"`
  45237. // The IDs of the transit gateway route tables.
  45238. TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
  45239. }
  45240. // String returns the string representation
  45241. func (s DescribeTransitGatewayRouteTablesInput) String() string {
  45242. return awsutil.Prettify(s)
  45243. }
  45244. // GoString returns the string representation
  45245. func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
  45246. return s.String()
  45247. }
  45248. // Validate inspects the fields of the type to determine if they are valid.
  45249. func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
  45250. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
  45251. if s.MaxResults != nil && *s.MaxResults < 5 {
  45252. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  45253. }
  45254. if invalidParams.Len() > 0 {
  45255. return invalidParams
  45256. }
  45257. return nil
  45258. }
  45259. // SetDryRun sets the DryRun field's value.
  45260. func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
  45261. s.DryRun = &v
  45262. return s
  45263. }
  45264. // SetFilters sets the Filters field's value.
  45265. func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
  45266. s.Filters = v
  45267. return s
  45268. }
  45269. // SetMaxResults sets the MaxResults field's value.
  45270. func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
  45271. s.MaxResults = &v
  45272. return s
  45273. }
  45274. // SetNextToken sets the NextToken field's value.
  45275. func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
  45276. s.NextToken = &v
  45277. return s
  45278. }
  45279. // SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
  45280. func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
  45281. s.TransitGatewayRouteTableIds = v
  45282. return s
  45283. }
  45284. type DescribeTransitGatewayRouteTablesOutput struct {
  45285. _ struct{} `type:"structure"`
  45286. // The token to use to retrieve the next page of results. This value is null
  45287. // when there are no more results to return.
  45288. NextToken *string `locationName:"nextToken" type:"string"`
  45289. // Information about the transit gateway route tables.
  45290. TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
  45291. }
  45292. // String returns the string representation
  45293. func (s DescribeTransitGatewayRouteTablesOutput) String() string {
  45294. return awsutil.Prettify(s)
  45295. }
  45296. // GoString returns the string representation
  45297. func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
  45298. return s.String()
  45299. }
  45300. // SetNextToken sets the NextToken field's value.
  45301. func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
  45302. s.NextToken = &v
  45303. return s
  45304. }
  45305. // SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
  45306. func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
  45307. s.TransitGatewayRouteTables = v
  45308. return s
  45309. }
  45310. type DescribeTransitGatewayVpcAttachmentsInput struct {
  45311. _ struct{} `type:"structure"`
  45312. // Checks whether you have the required permissions for the action, without
  45313. // actually making the request, and provides an error response. If you have
  45314. // the required permissions, the error response is DryRunOperation. Otherwise,
  45315. // it is UnauthorizedOperation.
  45316. DryRun *bool `type:"boolean"`
  45317. // One or more filters. The possible values are:
  45318. //
  45319. // * state - The state of the attachment (available | deleted | deleting
  45320. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  45321. // | rejecting).
  45322. //
  45323. // * transit-gateway-attachment-id - The ID of the attachment.
  45324. //
  45325. // * transit-gateway-id - The ID of the transit gateway.
  45326. //
  45327. // * vpc-id - The ID of the VPC.
  45328. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45329. // The maximum number of results to return with a single call. To retrieve the
  45330. // remaining results, make another call with the returned nextToken value.
  45331. MaxResults *int64 `min:"5" type:"integer"`
  45332. // The token for the next page of results.
  45333. NextToken *string `type:"string"`
  45334. // The IDs of the attachments.
  45335. TransitGatewayAttachmentIds []*string `type:"list"`
  45336. }
  45337. // String returns the string representation
  45338. func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
  45339. return awsutil.Prettify(s)
  45340. }
  45341. // GoString returns the string representation
  45342. func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
  45343. return s.String()
  45344. }
  45345. // Validate inspects the fields of the type to determine if they are valid.
  45346. func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
  45347. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
  45348. if s.MaxResults != nil && *s.MaxResults < 5 {
  45349. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  45350. }
  45351. if invalidParams.Len() > 0 {
  45352. return invalidParams
  45353. }
  45354. return nil
  45355. }
  45356. // SetDryRun sets the DryRun field's value.
  45357. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
  45358. s.DryRun = &v
  45359. return s
  45360. }
  45361. // SetFilters sets the Filters field's value.
  45362. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
  45363. s.Filters = v
  45364. return s
  45365. }
  45366. // SetMaxResults sets the MaxResults field's value.
  45367. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
  45368. s.MaxResults = &v
  45369. return s
  45370. }
  45371. // SetNextToken sets the NextToken field's value.
  45372. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
  45373. s.NextToken = &v
  45374. return s
  45375. }
  45376. // SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
  45377. func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
  45378. s.TransitGatewayAttachmentIds = v
  45379. return s
  45380. }
  45381. type DescribeTransitGatewayVpcAttachmentsOutput struct {
  45382. _ struct{} `type:"structure"`
  45383. // The token to use to retrieve the next page of results. This value is null
  45384. // when there are no more results to return.
  45385. NextToken *string `locationName:"nextToken" type:"string"`
  45386. // Information about the VPC attachments.
  45387. TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
  45388. }
  45389. // String returns the string representation
  45390. func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
  45391. return awsutil.Prettify(s)
  45392. }
  45393. // GoString returns the string representation
  45394. func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
  45395. return s.String()
  45396. }
  45397. // SetNextToken sets the NextToken field's value.
  45398. func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
  45399. s.NextToken = &v
  45400. return s
  45401. }
  45402. // SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
  45403. func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
  45404. s.TransitGatewayVpcAttachments = v
  45405. return s
  45406. }
  45407. type DescribeTransitGatewaysInput struct {
  45408. _ struct{} `type:"structure"`
  45409. // Checks whether you have the required permissions for the action, without
  45410. // actually making the request, and provides an error response. If you have
  45411. // the required permissions, the error response is DryRunOperation. Otherwise,
  45412. // it is UnauthorizedOperation.
  45413. DryRun *bool `type:"boolean"`
  45414. // One or more filters. The possible values are:
  45415. //
  45416. // * options.propagation-default-route-table-id - The ID of the default propagation
  45417. // route table.
  45418. //
  45419. // * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
  45420. // session.
  45421. //
  45422. // * options.association-default-route-table-id - The ID of the default association
  45423. // route table.
  45424. //
  45425. // * options.auto-accept-shared-attachments - Indicates whether there is
  45426. // automatic acceptance of attachment requests (enable | disable).
  45427. //
  45428. // * options.default-route-table-association - Indicates whether resource
  45429. // attachments are automatically associated with the default association
  45430. // route table (enable | disable).
  45431. //
  45432. // * options.default-route-table-propagation - Indicates whether resource
  45433. // attachments automatically propagate routes to the default propagation
  45434. // route table (enable | disable).
  45435. //
  45436. // * options.dns-support - Indicates whether DNS support is enabled (enable
  45437. // | disable).
  45438. //
  45439. // * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
  45440. // support is enabled (enable | disable).
  45441. //
  45442. // * owner-id - The ID of the AWS account that owns the transit gateway.
  45443. //
  45444. // * state - The state of the attachment (available | deleted | deleting
  45445. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  45446. // | rejecting).
  45447. //
  45448. // * transit-gateway-id - The ID of the transit gateway.
  45449. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45450. // The maximum number of results to return with a single call. To retrieve the
  45451. // remaining results, make another call with the returned nextToken value.
  45452. MaxResults *int64 `min:"5" type:"integer"`
  45453. // The token for the next page of results.
  45454. NextToken *string `type:"string"`
  45455. // The IDs of the transit gateways.
  45456. TransitGatewayIds []*string `locationNameList:"item" type:"list"`
  45457. }
  45458. // String returns the string representation
  45459. func (s DescribeTransitGatewaysInput) String() string {
  45460. return awsutil.Prettify(s)
  45461. }
  45462. // GoString returns the string representation
  45463. func (s DescribeTransitGatewaysInput) GoString() string {
  45464. return s.String()
  45465. }
  45466. // Validate inspects the fields of the type to determine if they are valid.
  45467. func (s *DescribeTransitGatewaysInput) Validate() error {
  45468. invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
  45469. if s.MaxResults != nil && *s.MaxResults < 5 {
  45470. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  45471. }
  45472. if invalidParams.Len() > 0 {
  45473. return invalidParams
  45474. }
  45475. return nil
  45476. }
  45477. // SetDryRun sets the DryRun field's value.
  45478. func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
  45479. s.DryRun = &v
  45480. return s
  45481. }
  45482. // SetFilters sets the Filters field's value.
  45483. func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
  45484. s.Filters = v
  45485. return s
  45486. }
  45487. // SetMaxResults sets the MaxResults field's value.
  45488. func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
  45489. s.MaxResults = &v
  45490. return s
  45491. }
  45492. // SetNextToken sets the NextToken field's value.
  45493. func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
  45494. s.NextToken = &v
  45495. return s
  45496. }
  45497. // SetTransitGatewayIds sets the TransitGatewayIds field's value.
  45498. func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
  45499. s.TransitGatewayIds = v
  45500. return s
  45501. }
  45502. type DescribeTransitGatewaysOutput struct {
  45503. _ struct{} `type:"structure"`
  45504. // The token to use to retrieve the next page of results. This value is null
  45505. // when there are no more results to return.
  45506. NextToken *string `locationName:"nextToken" type:"string"`
  45507. // Information about the transit gateways.
  45508. TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
  45509. }
  45510. // String returns the string representation
  45511. func (s DescribeTransitGatewaysOutput) String() string {
  45512. return awsutil.Prettify(s)
  45513. }
  45514. // GoString returns the string representation
  45515. func (s DescribeTransitGatewaysOutput) GoString() string {
  45516. return s.String()
  45517. }
  45518. // SetNextToken sets the NextToken field's value.
  45519. func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
  45520. s.NextToken = &v
  45521. return s
  45522. }
  45523. // SetTransitGateways sets the TransitGateways field's value.
  45524. func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
  45525. s.TransitGateways = v
  45526. return s
  45527. }
  45528. // Contains the parameters for DescribeVolumeAttribute.
  45529. type DescribeVolumeAttributeInput struct {
  45530. _ struct{} `type:"structure"`
  45531. // The attribute of the volume. This parameter is required.
  45532. //
  45533. // Attribute is a required field
  45534. Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
  45535. // Checks whether you have the required permissions for the action, without
  45536. // actually making the request, and provides an error response. If you have
  45537. // the required permissions, the error response is DryRunOperation. Otherwise,
  45538. // it is UnauthorizedOperation.
  45539. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45540. // The ID of the volume.
  45541. //
  45542. // VolumeId is a required field
  45543. VolumeId *string `type:"string" required:"true"`
  45544. }
  45545. // String returns the string representation
  45546. func (s DescribeVolumeAttributeInput) String() string {
  45547. return awsutil.Prettify(s)
  45548. }
  45549. // GoString returns the string representation
  45550. func (s DescribeVolumeAttributeInput) GoString() string {
  45551. return s.String()
  45552. }
  45553. // Validate inspects the fields of the type to determine if they are valid.
  45554. func (s *DescribeVolumeAttributeInput) Validate() error {
  45555. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  45556. if s.Attribute == nil {
  45557. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  45558. }
  45559. if s.VolumeId == nil {
  45560. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  45561. }
  45562. if invalidParams.Len() > 0 {
  45563. return invalidParams
  45564. }
  45565. return nil
  45566. }
  45567. // SetAttribute sets the Attribute field's value.
  45568. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  45569. s.Attribute = &v
  45570. return s
  45571. }
  45572. // SetDryRun sets the DryRun field's value.
  45573. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  45574. s.DryRun = &v
  45575. return s
  45576. }
  45577. // SetVolumeId sets the VolumeId field's value.
  45578. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  45579. s.VolumeId = &v
  45580. return s
  45581. }
  45582. // Contains the output of DescribeVolumeAttribute.
  45583. type DescribeVolumeAttributeOutput struct {
  45584. _ struct{} `type:"structure"`
  45585. // The state of autoEnableIO attribute.
  45586. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  45587. // A list of product codes.
  45588. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  45589. // The ID of the volume.
  45590. VolumeId *string `locationName:"volumeId" type:"string"`
  45591. }
  45592. // String returns the string representation
  45593. func (s DescribeVolumeAttributeOutput) String() string {
  45594. return awsutil.Prettify(s)
  45595. }
  45596. // GoString returns the string representation
  45597. func (s DescribeVolumeAttributeOutput) GoString() string {
  45598. return s.String()
  45599. }
  45600. // SetAutoEnableIO sets the AutoEnableIO field's value.
  45601. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  45602. s.AutoEnableIO = v
  45603. return s
  45604. }
  45605. // SetProductCodes sets the ProductCodes field's value.
  45606. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  45607. s.ProductCodes = v
  45608. return s
  45609. }
  45610. // SetVolumeId sets the VolumeId field's value.
  45611. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  45612. s.VolumeId = &v
  45613. return s
  45614. }
  45615. // Contains the parameters for DescribeVolumeStatus.
  45616. type DescribeVolumeStatusInput struct {
  45617. _ struct{} `type:"structure"`
  45618. // Checks whether you have the required permissions for the action, without
  45619. // actually making the request, and provides an error response. If you have
  45620. // the required permissions, the error response is DryRunOperation. Otherwise,
  45621. // it is UnauthorizedOperation.
  45622. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45623. // One or more filters.
  45624. //
  45625. // * action.code - The action code for the event (for example, enable-volume-io).
  45626. //
  45627. // * action.description - A description of the action.
  45628. //
  45629. // * action.event-id - The event ID associated with the action.
  45630. //
  45631. // * availability-zone - The Availability Zone of the instance.
  45632. //
  45633. // * event.description - A description of the event.
  45634. //
  45635. // * event.event-id - The event ID.
  45636. //
  45637. // * event.event-type - The event type (for io-enabled: passed | failed;
  45638. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  45639. // | io-performance:stalled).
  45640. //
  45641. // * event.not-after - The latest end time for the event.
  45642. //
  45643. // * event.not-before - The earliest start time for the event.
  45644. //
  45645. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  45646. // | io-performance).
  45647. //
  45648. // * volume-status.details-status - The status of volume-status.details-name
  45649. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  45650. // | severely-degraded | stalled).
  45651. //
  45652. // * volume-status.status - The status of the volume (ok | impaired | warning
  45653. // | insufficient-data).
  45654. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45655. // The maximum number of volume results returned by DescribeVolumeStatus in
  45656. // paginated output. When this parameter is used, the request only returns MaxResults
  45657. // results in a single page along with a NextToken response element. The remaining
  45658. // results of the initial request can be seen by sending another request with
  45659. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  45660. // is given a value larger than 1000, only 1000 results are returned. If this
  45661. // parameter is not used, then DescribeVolumeStatus returns all results. You
  45662. // cannot specify this parameter and the volume IDs parameter in the same request.
  45663. MaxResults *int64 `type:"integer"`
  45664. // The NextToken value to include in a future DescribeVolumeStatus request.
  45665. // When the results of the request exceed MaxResults, this value can be used
  45666. // to retrieve the next page of results. This value is null when there are no
  45667. // more results to return.
  45668. NextToken *string `type:"string"`
  45669. // One or more volume IDs.
  45670. //
  45671. // Default: Describes all your volumes.
  45672. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  45673. }
  45674. // String returns the string representation
  45675. func (s DescribeVolumeStatusInput) String() string {
  45676. return awsutil.Prettify(s)
  45677. }
  45678. // GoString returns the string representation
  45679. func (s DescribeVolumeStatusInput) GoString() string {
  45680. return s.String()
  45681. }
  45682. // SetDryRun sets the DryRun field's value.
  45683. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  45684. s.DryRun = &v
  45685. return s
  45686. }
  45687. // SetFilters sets the Filters field's value.
  45688. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  45689. s.Filters = v
  45690. return s
  45691. }
  45692. // SetMaxResults sets the MaxResults field's value.
  45693. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  45694. s.MaxResults = &v
  45695. return s
  45696. }
  45697. // SetNextToken sets the NextToken field's value.
  45698. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  45699. s.NextToken = &v
  45700. return s
  45701. }
  45702. // SetVolumeIds sets the VolumeIds field's value.
  45703. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  45704. s.VolumeIds = v
  45705. return s
  45706. }
  45707. // Contains the output of DescribeVolumeStatus.
  45708. type DescribeVolumeStatusOutput struct {
  45709. _ struct{} `type:"structure"`
  45710. // The token to use to retrieve the next page of results. This value is null
  45711. // when there are no more results to return.
  45712. NextToken *string `locationName:"nextToken" type:"string"`
  45713. // A list of volumes.
  45714. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  45715. }
  45716. // String returns the string representation
  45717. func (s DescribeVolumeStatusOutput) String() string {
  45718. return awsutil.Prettify(s)
  45719. }
  45720. // GoString returns the string representation
  45721. func (s DescribeVolumeStatusOutput) GoString() string {
  45722. return s.String()
  45723. }
  45724. // SetNextToken sets the NextToken field's value.
  45725. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  45726. s.NextToken = &v
  45727. return s
  45728. }
  45729. // SetVolumeStatuses sets the VolumeStatuses field's value.
  45730. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  45731. s.VolumeStatuses = v
  45732. return s
  45733. }
  45734. // Contains the parameters for DescribeVolumes.
  45735. type DescribeVolumesInput struct {
  45736. _ struct{} `type:"structure"`
  45737. // Checks whether you have the required permissions for the action, without
  45738. // actually making the request, and provides an error response. If you have
  45739. // the required permissions, the error response is DryRunOperation. Otherwise,
  45740. // it is UnauthorizedOperation.
  45741. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45742. // One or more filters.
  45743. //
  45744. // * attachment.attach-time - The time stamp when the attachment initiated.
  45745. //
  45746. // * attachment.delete-on-termination - Whether the volume is deleted on
  45747. // instance termination.
  45748. //
  45749. // * attachment.device - The device name specified in the block device mapping
  45750. // (for example, /dev/sda1).
  45751. //
  45752. // * attachment.instance-id - The ID of the instance the volume is attached
  45753. // to.
  45754. //
  45755. // * attachment.status - The attachment state (attaching | attached | detaching).
  45756. //
  45757. // * availability-zone - The Availability Zone in which the volume was created.
  45758. //
  45759. // * create-time - The time stamp when the volume was created.
  45760. //
  45761. // * encrypted - The encryption status of the volume.
  45762. //
  45763. // * size - The size of the volume, in GiB.
  45764. //
  45765. // * snapshot-id - The snapshot from which the volume was created.
  45766. //
  45767. // * status - The status of the volume (creating | available | in-use | deleting
  45768. // | deleted | error).
  45769. //
  45770. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  45771. // Use the tag key in the filter name and the tag value as the filter value.
  45772. // For example, to find all resources that have a tag with the key Owner
  45773. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  45774. // the filter value.
  45775. //
  45776. // * tag-key - The key of a tag assigned to the resource. Use this filter
  45777. // to find all resources assigned a tag with a specific key, regardless of
  45778. // the tag value.
  45779. //
  45780. // * volume-id - The volume ID.
  45781. //
  45782. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  45783. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  45784. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  45785. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45786. // The maximum number of volume results returned by DescribeVolumes in paginated
  45787. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  45788. // results in a single page along with a NextToken response element. The remaining
  45789. // results of the initial request can be seen by sending another DescribeVolumes
  45790. // request with the returned NextToken value. This value can be between 5 and
  45791. // 500; if MaxResults is given a value larger than 500, only 500 results are
  45792. // returned. If this parameter is not used, then DescribeVolumes returns all
  45793. // results. You cannot specify this parameter and the volume IDs parameter in
  45794. // the same request.
  45795. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  45796. // The NextToken value returned from a previous paginated DescribeVolumes request
  45797. // where MaxResults was used and the results exceeded the value of that parameter.
  45798. // Pagination continues from the end of the previous results that returned the
  45799. // NextToken value. This value is null when there are no more results to return.
  45800. NextToken *string `locationName:"nextToken" type:"string"`
  45801. // One or more volume IDs.
  45802. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  45803. }
  45804. // String returns the string representation
  45805. func (s DescribeVolumesInput) String() string {
  45806. return awsutil.Prettify(s)
  45807. }
  45808. // GoString returns the string representation
  45809. func (s DescribeVolumesInput) GoString() string {
  45810. return s.String()
  45811. }
  45812. // SetDryRun sets the DryRun field's value.
  45813. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  45814. s.DryRun = &v
  45815. return s
  45816. }
  45817. // SetFilters sets the Filters field's value.
  45818. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  45819. s.Filters = v
  45820. return s
  45821. }
  45822. // SetMaxResults sets the MaxResults field's value.
  45823. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  45824. s.MaxResults = &v
  45825. return s
  45826. }
  45827. // SetNextToken sets the NextToken field's value.
  45828. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  45829. s.NextToken = &v
  45830. return s
  45831. }
  45832. // SetVolumeIds sets the VolumeIds field's value.
  45833. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  45834. s.VolumeIds = v
  45835. return s
  45836. }
  45837. type DescribeVolumesModificationsInput struct {
  45838. _ struct{} `type:"structure"`
  45839. // Checks whether you have the required permissions for the action, without
  45840. // actually making the request, and provides an error response. If you have
  45841. // the required permissions, the error response is DryRunOperation. Otherwise,
  45842. // it is UnauthorizedOperation.
  45843. DryRun *bool `type:"boolean"`
  45844. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  45845. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  45846. // start-time.
  45847. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  45848. // The maximum number of results (up to a limit of 500) to be returned in a
  45849. // paginated request.
  45850. MaxResults *int64 `type:"integer"`
  45851. // The nextToken value returned by a previous paginated request.
  45852. NextToken *string `type:"string"`
  45853. // One or more volume IDs for which in-progress modifications will be described.
  45854. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  45855. }
  45856. // String returns the string representation
  45857. func (s DescribeVolumesModificationsInput) String() string {
  45858. return awsutil.Prettify(s)
  45859. }
  45860. // GoString returns the string representation
  45861. func (s DescribeVolumesModificationsInput) GoString() string {
  45862. return s.String()
  45863. }
  45864. // SetDryRun sets the DryRun field's value.
  45865. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  45866. s.DryRun = &v
  45867. return s
  45868. }
  45869. // SetFilters sets the Filters field's value.
  45870. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  45871. s.Filters = v
  45872. return s
  45873. }
  45874. // SetMaxResults sets the MaxResults field's value.
  45875. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  45876. s.MaxResults = &v
  45877. return s
  45878. }
  45879. // SetNextToken sets the NextToken field's value.
  45880. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  45881. s.NextToken = &v
  45882. return s
  45883. }
  45884. // SetVolumeIds sets the VolumeIds field's value.
  45885. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  45886. s.VolumeIds = v
  45887. return s
  45888. }
  45889. type DescribeVolumesModificationsOutput struct {
  45890. _ struct{} `type:"structure"`
  45891. // Token for pagination, null if there are no more results
  45892. NextToken *string `locationName:"nextToken" type:"string"`
  45893. // A list of returned VolumeModification objects.
  45894. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  45895. }
  45896. // String returns the string representation
  45897. func (s DescribeVolumesModificationsOutput) String() string {
  45898. return awsutil.Prettify(s)
  45899. }
  45900. // GoString returns the string representation
  45901. func (s DescribeVolumesModificationsOutput) GoString() string {
  45902. return s.String()
  45903. }
  45904. // SetNextToken sets the NextToken field's value.
  45905. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  45906. s.NextToken = &v
  45907. return s
  45908. }
  45909. // SetVolumesModifications sets the VolumesModifications field's value.
  45910. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  45911. s.VolumesModifications = v
  45912. return s
  45913. }
  45914. // Contains the output of DescribeVolumes.
  45915. type DescribeVolumesOutput struct {
  45916. _ struct{} `type:"structure"`
  45917. // The NextToken value to include in a future DescribeVolumes request. When
  45918. // the results of a DescribeVolumes request exceed MaxResults, this value can
  45919. // be used to retrieve the next page of results. This value is null when there
  45920. // are no more results to return.
  45921. NextToken *string `locationName:"nextToken" type:"string"`
  45922. // Information about the volumes.
  45923. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  45924. }
  45925. // String returns the string representation
  45926. func (s DescribeVolumesOutput) String() string {
  45927. return awsutil.Prettify(s)
  45928. }
  45929. // GoString returns the string representation
  45930. func (s DescribeVolumesOutput) GoString() string {
  45931. return s.String()
  45932. }
  45933. // SetNextToken sets the NextToken field's value.
  45934. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  45935. s.NextToken = &v
  45936. return s
  45937. }
  45938. // SetVolumes sets the Volumes field's value.
  45939. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  45940. s.Volumes = v
  45941. return s
  45942. }
  45943. type DescribeVpcAttributeInput struct {
  45944. _ struct{} `type:"structure"`
  45945. // The VPC attribute.
  45946. //
  45947. // Attribute is a required field
  45948. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  45949. // Checks whether you have the required permissions for the action, without
  45950. // actually making the request, and provides an error response. If you have
  45951. // the required permissions, the error response is DryRunOperation. Otherwise,
  45952. // it is UnauthorizedOperation.
  45953. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45954. // The ID of the VPC.
  45955. //
  45956. // VpcId is a required field
  45957. VpcId *string `type:"string" required:"true"`
  45958. }
  45959. // String returns the string representation
  45960. func (s DescribeVpcAttributeInput) String() string {
  45961. return awsutil.Prettify(s)
  45962. }
  45963. // GoString returns the string representation
  45964. func (s DescribeVpcAttributeInput) GoString() string {
  45965. return s.String()
  45966. }
  45967. // Validate inspects the fields of the type to determine if they are valid.
  45968. func (s *DescribeVpcAttributeInput) Validate() error {
  45969. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  45970. if s.Attribute == nil {
  45971. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  45972. }
  45973. if s.VpcId == nil {
  45974. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  45975. }
  45976. if invalidParams.Len() > 0 {
  45977. return invalidParams
  45978. }
  45979. return nil
  45980. }
  45981. // SetAttribute sets the Attribute field's value.
  45982. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  45983. s.Attribute = &v
  45984. return s
  45985. }
  45986. // SetDryRun sets the DryRun field's value.
  45987. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  45988. s.DryRun = &v
  45989. return s
  45990. }
  45991. // SetVpcId sets the VpcId field's value.
  45992. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  45993. s.VpcId = &v
  45994. return s
  45995. }
  45996. type DescribeVpcAttributeOutput struct {
  45997. _ struct{} `type:"structure"`
  45998. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  45999. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  46000. // they do not.
  46001. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  46002. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  46003. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  46004. // to their corresponding IP addresses; otherwise, it does not.
  46005. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  46006. // The ID of the VPC.
  46007. VpcId *string `locationName:"vpcId" type:"string"`
  46008. }
  46009. // String returns the string representation
  46010. func (s DescribeVpcAttributeOutput) String() string {
  46011. return awsutil.Prettify(s)
  46012. }
  46013. // GoString returns the string representation
  46014. func (s DescribeVpcAttributeOutput) GoString() string {
  46015. return s.String()
  46016. }
  46017. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  46018. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  46019. s.EnableDnsHostnames = v
  46020. return s
  46021. }
  46022. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  46023. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  46024. s.EnableDnsSupport = v
  46025. return s
  46026. }
  46027. // SetVpcId sets the VpcId field's value.
  46028. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  46029. s.VpcId = &v
  46030. return s
  46031. }
  46032. type DescribeVpcClassicLinkDnsSupportInput struct {
  46033. _ struct{} `type:"structure"`
  46034. // The maximum number of results to return with a single call. To retrieve the
  46035. // remaining results, make another call with the returned nextToken value.
  46036. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  46037. // The token for the next page of results.
  46038. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  46039. // One or more VPC IDs.
  46040. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  46041. }
  46042. // String returns the string representation
  46043. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  46044. return awsutil.Prettify(s)
  46045. }
  46046. // GoString returns the string representation
  46047. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  46048. return s.String()
  46049. }
  46050. // Validate inspects the fields of the type to determine if they are valid.
  46051. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  46052. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  46053. if s.MaxResults != nil && *s.MaxResults < 5 {
  46054. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  46055. }
  46056. if s.NextToken != nil && len(*s.NextToken) < 1 {
  46057. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  46058. }
  46059. if invalidParams.Len() > 0 {
  46060. return invalidParams
  46061. }
  46062. return nil
  46063. }
  46064. // SetMaxResults sets the MaxResults field's value.
  46065. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  46066. s.MaxResults = &v
  46067. return s
  46068. }
  46069. // SetNextToken sets the NextToken field's value.
  46070. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  46071. s.NextToken = &v
  46072. return s
  46073. }
  46074. // SetVpcIds sets the VpcIds field's value.
  46075. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  46076. s.VpcIds = v
  46077. return s
  46078. }
  46079. type DescribeVpcClassicLinkDnsSupportOutput struct {
  46080. _ struct{} `type:"structure"`
  46081. // The token to use to retrieve the next page of results. This value is null
  46082. // when there are no more results to return.
  46083. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  46084. // Information about the ClassicLink DNS support status of the VPCs.
  46085. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  46086. }
  46087. // String returns the string representation
  46088. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  46089. return awsutil.Prettify(s)
  46090. }
  46091. // GoString returns the string representation
  46092. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  46093. return s.String()
  46094. }
  46095. // SetNextToken sets the NextToken field's value.
  46096. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  46097. s.NextToken = &v
  46098. return s
  46099. }
  46100. // SetVpcs sets the Vpcs field's value.
  46101. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  46102. s.Vpcs = v
  46103. return s
  46104. }
  46105. type DescribeVpcClassicLinkInput struct {
  46106. _ struct{} `type:"structure"`
  46107. // Checks whether you have the required permissions for the action, without
  46108. // actually making the request, and provides an error response. If you have
  46109. // the required permissions, the error response is DryRunOperation. Otherwise,
  46110. // it is UnauthorizedOperation.
  46111. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46112. // One or more filters.
  46113. //
  46114. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  46115. // (true | false).
  46116. //
  46117. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  46118. // Use the tag key in the filter name and the tag value as the filter value.
  46119. // For example, to find all resources that have a tag with the key Owner
  46120. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  46121. // the filter value.
  46122. //
  46123. // * tag-key - The key of a tag assigned to the resource. Use this filter
  46124. // to find all resources assigned a tag with a specific key, regardless of
  46125. // the tag value.
  46126. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46127. // One or more VPCs for which you want to describe the ClassicLink status.
  46128. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  46129. }
  46130. // String returns the string representation
  46131. func (s DescribeVpcClassicLinkInput) String() string {
  46132. return awsutil.Prettify(s)
  46133. }
  46134. // GoString returns the string representation
  46135. func (s DescribeVpcClassicLinkInput) GoString() string {
  46136. return s.String()
  46137. }
  46138. // SetDryRun sets the DryRun field's value.
  46139. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  46140. s.DryRun = &v
  46141. return s
  46142. }
  46143. // SetFilters sets the Filters field's value.
  46144. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  46145. s.Filters = v
  46146. return s
  46147. }
  46148. // SetVpcIds sets the VpcIds field's value.
  46149. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  46150. s.VpcIds = v
  46151. return s
  46152. }
  46153. type DescribeVpcClassicLinkOutput struct {
  46154. _ struct{} `type:"structure"`
  46155. // The ClassicLink status of one or more VPCs.
  46156. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  46157. }
  46158. // String returns the string representation
  46159. func (s DescribeVpcClassicLinkOutput) String() string {
  46160. return awsutil.Prettify(s)
  46161. }
  46162. // GoString returns the string representation
  46163. func (s DescribeVpcClassicLinkOutput) GoString() string {
  46164. return s.String()
  46165. }
  46166. // SetVpcs sets the Vpcs field's value.
  46167. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  46168. s.Vpcs = v
  46169. return s
  46170. }
  46171. type DescribeVpcEndpointConnectionNotificationsInput struct {
  46172. _ struct{} `type:"structure"`
  46173. // The ID of the notification.
  46174. ConnectionNotificationId *string `type:"string"`
  46175. // Checks whether you have the required permissions for the action, without
  46176. // actually making the request, and provides an error response. If you have
  46177. // the required permissions, the error response is DryRunOperation. Otherwise,
  46178. // it is UnauthorizedOperation.
  46179. DryRun *bool `type:"boolean"`
  46180. // One or more filters.
  46181. //
  46182. // * connection-notification-arn - The ARN of SNS topic for the notification.
  46183. //
  46184. // * connection-notification-id - The ID of the notification.
  46185. //
  46186. // * connection-notification-state - The state of the notification (Enabled
  46187. // | Disabled).
  46188. //
  46189. // * connection-notification-type - The type of notification (Topic).
  46190. //
  46191. // * service-id - The ID of the endpoint service.
  46192. //
  46193. // * vpc-endpoint-id - The ID of the VPC endpoint.
  46194. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46195. // The maximum number of results to return in a single call. To retrieve the
  46196. // remaining results, make another request with the returned NextToken value.
  46197. MaxResults *int64 `type:"integer"`
  46198. // The token to request the next page of results.
  46199. NextToken *string `type:"string"`
  46200. }
  46201. // String returns the string representation
  46202. func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
  46203. return awsutil.Prettify(s)
  46204. }
  46205. // GoString returns the string representation
  46206. func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
  46207. return s.String()
  46208. }
  46209. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  46210. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  46211. s.ConnectionNotificationId = &v
  46212. return s
  46213. }
  46214. // SetDryRun sets the DryRun field's value.
  46215. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
  46216. s.DryRun = &v
  46217. return s
  46218. }
  46219. // SetFilters sets the Filters field's value.
  46220. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
  46221. s.Filters = v
  46222. return s
  46223. }
  46224. // SetMaxResults sets the MaxResults field's value.
  46225. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
  46226. s.MaxResults = &v
  46227. return s
  46228. }
  46229. // SetNextToken sets the NextToken field's value.
  46230. func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
  46231. s.NextToken = &v
  46232. return s
  46233. }
  46234. type DescribeVpcEndpointConnectionNotificationsOutput struct {
  46235. _ struct{} `type:"structure"`
  46236. // One or more notifications.
  46237. ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
  46238. // The token to use to retrieve the next page of results. This value is null
  46239. // when there are no more results to return.
  46240. NextToken *string `locationName:"nextToken" type:"string"`
  46241. }
  46242. // String returns the string representation
  46243. func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
  46244. return awsutil.Prettify(s)
  46245. }
  46246. // GoString returns the string representation
  46247. func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
  46248. return s.String()
  46249. }
  46250. // SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
  46251. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
  46252. s.ConnectionNotificationSet = v
  46253. return s
  46254. }
  46255. // SetNextToken sets the NextToken field's value.
  46256. func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
  46257. s.NextToken = &v
  46258. return s
  46259. }
  46260. type DescribeVpcEndpointConnectionsInput struct {
  46261. _ struct{} `type:"structure"`
  46262. // Checks whether you have the required permissions for the action, without
  46263. // actually making the request, and provides an error response. If you have
  46264. // the required permissions, the error response is DryRunOperation. Otherwise,
  46265. // it is UnauthorizedOperation.
  46266. DryRun *bool `type:"boolean"`
  46267. // One or more filters.
  46268. //
  46269. // * service-id - The ID of the service.
  46270. //
  46271. // * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
  46272. //
  46273. // * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
  46274. // pending | available | deleting | deleted | rejected | failed).
  46275. //
  46276. // * vpc-endpoint-id - The ID of the endpoint.
  46277. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46278. // The maximum number of results to return for the request in a single page.
  46279. // The remaining results of the initial request can be seen by sending another
  46280. // request with the returned NextToken value. This value can be between 5 and
  46281. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  46282. // are returned.
  46283. MaxResults *int64 `type:"integer"`
  46284. // The token to retrieve the next page of results.
  46285. NextToken *string `type:"string"`
  46286. }
  46287. // String returns the string representation
  46288. func (s DescribeVpcEndpointConnectionsInput) String() string {
  46289. return awsutil.Prettify(s)
  46290. }
  46291. // GoString returns the string representation
  46292. func (s DescribeVpcEndpointConnectionsInput) GoString() string {
  46293. return s.String()
  46294. }
  46295. // SetDryRun sets the DryRun field's value.
  46296. func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
  46297. s.DryRun = &v
  46298. return s
  46299. }
  46300. // SetFilters sets the Filters field's value.
  46301. func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
  46302. s.Filters = v
  46303. return s
  46304. }
  46305. // SetMaxResults sets the MaxResults field's value.
  46306. func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
  46307. s.MaxResults = &v
  46308. return s
  46309. }
  46310. // SetNextToken sets the NextToken field's value.
  46311. func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
  46312. s.NextToken = &v
  46313. return s
  46314. }
  46315. type DescribeVpcEndpointConnectionsOutput struct {
  46316. _ struct{} `type:"structure"`
  46317. // The token to use to retrieve the next page of results. This value is null
  46318. // when there are no more results to return.
  46319. NextToken *string `locationName:"nextToken" type:"string"`
  46320. // Information about one or more VPC endpoint connections.
  46321. VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
  46322. }
  46323. // String returns the string representation
  46324. func (s DescribeVpcEndpointConnectionsOutput) String() string {
  46325. return awsutil.Prettify(s)
  46326. }
  46327. // GoString returns the string representation
  46328. func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
  46329. return s.String()
  46330. }
  46331. // SetNextToken sets the NextToken field's value.
  46332. func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
  46333. s.NextToken = &v
  46334. return s
  46335. }
  46336. // SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
  46337. func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
  46338. s.VpcEndpointConnections = v
  46339. return s
  46340. }
  46341. type DescribeVpcEndpointServiceConfigurationsInput struct {
  46342. _ struct{} `type:"structure"`
  46343. // Checks whether you have the required permissions for the action, without
  46344. // actually making the request, and provides an error response. If you have
  46345. // the required permissions, the error response is DryRunOperation. Otherwise,
  46346. // it is UnauthorizedOperation.
  46347. DryRun *bool `type:"boolean"`
  46348. // One or more filters.
  46349. //
  46350. // * service-name - The name of the service.
  46351. //
  46352. // * service-id - The ID of the service.
  46353. //
  46354. // * service-state - The state of the service (Pending | Available | Deleting
  46355. // | Deleted | Failed).
  46356. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46357. // The maximum number of results to return for the request in a single page.
  46358. // The remaining results of the initial request can be seen by sending another
  46359. // request with the returned NextToken value. This value can be between 5 and
  46360. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  46361. // are returned.
  46362. MaxResults *int64 `type:"integer"`
  46363. // The token to retrieve the next page of results.
  46364. NextToken *string `type:"string"`
  46365. // The IDs of one or more services.
  46366. ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
  46367. }
  46368. // String returns the string representation
  46369. func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
  46370. return awsutil.Prettify(s)
  46371. }
  46372. // GoString returns the string representation
  46373. func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
  46374. return s.String()
  46375. }
  46376. // SetDryRun sets the DryRun field's value.
  46377. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
  46378. s.DryRun = &v
  46379. return s
  46380. }
  46381. // SetFilters sets the Filters field's value.
  46382. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
  46383. s.Filters = v
  46384. return s
  46385. }
  46386. // SetMaxResults sets the MaxResults field's value.
  46387. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
  46388. s.MaxResults = &v
  46389. return s
  46390. }
  46391. // SetNextToken sets the NextToken field's value.
  46392. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
  46393. s.NextToken = &v
  46394. return s
  46395. }
  46396. // SetServiceIds sets the ServiceIds field's value.
  46397. func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
  46398. s.ServiceIds = v
  46399. return s
  46400. }
  46401. type DescribeVpcEndpointServiceConfigurationsOutput struct {
  46402. _ struct{} `type:"structure"`
  46403. // The token to use to retrieve the next page of results. This value is null
  46404. // when there are no more results to return.
  46405. NextToken *string `locationName:"nextToken" type:"string"`
  46406. // Information about one or more services.
  46407. ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
  46408. }
  46409. // String returns the string representation
  46410. func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
  46411. return awsutil.Prettify(s)
  46412. }
  46413. // GoString returns the string representation
  46414. func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
  46415. return s.String()
  46416. }
  46417. // SetNextToken sets the NextToken field's value.
  46418. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
  46419. s.NextToken = &v
  46420. return s
  46421. }
  46422. // SetServiceConfigurations sets the ServiceConfigurations field's value.
  46423. func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
  46424. s.ServiceConfigurations = v
  46425. return s
  46426. }
  46427. type DescribeVpcEndpointServicePermissionsInput struct {
  46428. _ struct{} `type:"structure"`
  46429. // Checks whether you have the required permissions for the action, without
  46430. // actually making the request, and provides an error response. If you have
  46431. // the required permissions, the error response is DryRunOperation. Otherwise,
  46432. // it is UnauthorizedOperation.
  46433. DryRun *bool `type:"boolean"`
  46434. // One or more filters.
  46435. //
  46436. // * principal - The ARN of the principal.
  46437. //
  46438. // * principal-type - The principal type (All | Service | OrganizationUnit
  46439. // | Account | User | Role).
  46440. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46441. // The maximum number of results to return for the request in a single page.
  46442. // The remaining results of the initial request can be seen by sending another
  46443. // request with the returned NextToken value. This value can be between 5 and
  46444. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  46445. // are returned.
  46446. MaxResults *int64 `type:"integer"`
  46447. // The token to retrieve the next page of results.
  46448. NextToken *string `type:"string"`
  46449. // The ID of the service.
  46450. //
  46451. // ServiceId is a required field
  46452. ServiceId *string `type:"string" required:"true"`
  46453. }
  46454. // String returns the string representation
  46455. func (s DescribeVpcEndpointServicePermissionsInput) String() string {
  46456. return awsutil.Prettify(s)
  46457. }
  46458. // GoString returns the string representation
  46459. func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
  46460. return s.String()
  46461. }
  46462. // Validate inspects the fields of the type to determine if they are valid.
  46463. func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
  46464. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
  46465. if s.ServiceId == nil {
  46466. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  46467. }
  46468. if invalidParams.Len() > 0 {
  46469. return invalidParams
  46470. }
  46471. return nil
  46472. }
  46473. // SetDryRun sets the DryRun field's value.
  46474. func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
  46475. s.DryRun = &v
  46476. return s
  46477. }
  46478. // SetFilters sets the Filters field's value.
  46479. func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
  46480. s.Filters = v
  46481. return s
  46482. }
  46483. // SetMaxResults sets the MaxResults field's value.
  46484. func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
  46485. s.MaxResults = &v
  46486. return s
  46487. }
  46488. // SetNextToken sets the NextToken field's value.
  46489. func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
  46490. s.NextToken = &v
  46491. return s
  46492. }
  46493. // SetServiceId sets the ServiceId field's value.
  46494. func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
  46495. s.ServiceId = &v
  46496. return s
  46497. }
  46498. type DescribeVpcEndpointServicePermissionsOutput struct {
  46499. _ struct{} `type:"structure"`
  46500. // Information about one or more allowed principals.
  46501. AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
  46502. // The token to use to retrieve the next page of results. This value is null
  46503. // when there are no more results to return.
  46504. NextToken *string `locationName:"nextToken" type:"string"`
  46505. }
  46506. // String returns the string representation
  46507. func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
  46508. return awsutil.Prettify(s)
  46509. }
  46510. // GoString returns the string representation
  46511. func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
  46512. return s.String()
  46513. }
  46514. // SetAllowedPrincipals sets the AllowedPrincipals field's value.
  46515. func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
  46516. s.AllowedPrincipals = v
  46517. return s
  46518. }
  46519. // SetNextToken sets the NextToken field's value.
  46520. func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
  46521. s.NextToken = &v
  46522. return s
  46523. }
  46524. // Contains the parameters for DescribeVpcEndpointServices.
  46525. type DescribeVpcEndpointServicesInput struct {
  46526. _ struct{} `type:"structure"`
  46527. // Checks whether you have the required permissions for the action, without
  46528. // actually making the request, and provides an error response. If you have
  46529. // the required permissions, the error response is DryRunOperation. Otherwise,
  46530. // it is UnauthorizedOperation.
  46531. DryRun *bool `type:"boolean"`
  46532. // One or more filters.
  46533. //
  46534. // * service-name: The name of the service.
  46535. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46536. // The maximum number of items to return for this request. The request returns
  46537. // a token that you can specify in a subsequent call to get the next set of
  46538. // results.
  46539. //
  46540. // Constraint: If the value is greater than 1000, we return only 1000 items.
  46541. MaxResults *int64 `type:"integer"`
  46542. // The token for the next set of items to return. (You received this token from
  46543. // a prior call.)
  46544. NextToken *string `type:"string"`
  46545. // One or more service names.
  46546. ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
  46547. }
  46548. // String returns the string representation
  46549. func (s DescribeVpcEndpointServicesInput) String() string {
  46550. return awsutil.Prettify(s)
  46551. }
  46552. // GoString returns the string representation
  46553. func (s DescribeVpcEndpointServicesInput) GoString() string {
  46554. return s.String()
  46555. }
  46556. // SetDryRun sets the DryRun field's value.
  46557. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  46558. s.DryRun = &v
  46559. return s
  46560. }
  46561. // SetFilters sets the Filters field's value.
  46562. func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
  46563. s.Filters = v
  46564. return s
  46565. }
  46566. // SetMaxResults sets the MaxResults field's value.
  46567. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  46568. s.MaxResults = &v
  46569. return s
  46570. }
  46571. // SetNextToken sets the NextToken field's value.
  46572. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  46573. s.NextToken = &v
  46574. return s
  46575. }
  46576. // SetServiceNames sets the ServiceNames field's value.
  46577. func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
  46578. s.ServiceNames = v
  46579. return s
  46580. }
  46581. // Contains the output of DescribeVpcEndpointServices.
  46582. type DescribeVpcEndpointServicesOutput struct {
  46583. _ struct{} `type:"structure"`
  46584. // The token to use when requesting the next set of items. If there are no additional
  46585. // items to return, the string is empty.
  46586. NextToken *string `locationName:"nextToken" type:"string"`
  46587. // Information about the service.
  46588. ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
  46589. // A list of supported services.
  46590. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  46591. }
  46592. // String returns the string representation
  46593. func (s DescribeVpcEndpointServicesOutput) String() string {
  46594. return awsutil.Prettify(s)
  46595. }
  46596. // GoString returns the string representation
  46597. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  46598. return s.String()
  46599. }
  46600. // SetNextToken sets the NextToken field's value.
  46601. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  46602. s.NextToken = &v
  46603. return s
  46604. }
  46605. // SetServiceDetails sets the ServiceDetails field's value.
  46606. func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
  46607. s.ServiceDetails = v
  46608. return s
  46609. }
  46610. // SetServiceNames sets the ServiceNames field's value.
  46611. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  46612. s.ServiceNames = v
  46613. return s
  46614. }
  46615. // Contains the parameters for DescribeVpcEndpoints.
  46616. type DescribeVpcEndpointsInput struct {
  46617. _ struct{} `type:"structure"`
  46618. // Checks whether you have the required permissions for the action, without
  46619. // actually making the request, and provides an error response. If you have
  46620. // the required permissions, the error response is DryRunOperation. Otherwise,
  46621. // it is UnauthorizedOperation.
  46622. DryRun *bool `type:"boolean"`
  46623. // One or more filters.
  46624. //
  46625. // * service-name: The name of the service.
  46626. //
  46627. // * vpc-id: The ID of the VPC in which the endpoint resides.
  46628. //
  46629. // * vpc-endpoint-id: The ID of the endpoint.
  46630. //
  46631. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  46632. // | deleting | deleted)
  46633. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46634. // The maximum number of items to return for this request. The request returns
  46635. // a token that you can specify in a subsequent call to get the next set of
  46636. // results.
  46637. //
  46638. // Constraint: If the value is greater than 1000, we return only 1000 items.
  46639. MaxResults *int64 `type:"integer"`
  46640. // The token for the next set of items to return. (You received this token from
  46641. // a prior call.)
  46642. NextToken *string `type:"string"`
  46643. // One or more endpoint IDs.
  46644. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  46645. }
  46646. // String returns the string representation
  46647. func (s DescribeVpcEndpointsInput) String() string {
  46648. return awsutil.Prettify(s)
  46649. }
  46650. // GoString returns the string representation
  46651. func (s DescribeVpcEndpointsInput) GoString() string {
  46652. return s.String()
  46653. }
  46654. // SetDryRun sets the DryRun field's value.
  46655. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  46656. s.DryRun = &v
  46657. return s
  46658. }
  46659. // SetFilters sets the Filters field's value.
  46660. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  46661. s.Filters = v
  46662. return s
  46663. }
  46664. // SetMaxResults sets the MaxResults field's value.
  46665. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  46666. s.MaxResults = &v
  46667. return s
  46668. }
  46669. // SetNextToken sets the NextToken field's value.
  46670. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  46671. s.NextToken = &v
  46672. return s
  46673. }
  46674. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  46675. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  46676. s.VpcEndpointIds = v
  46677. return s
  46678. }
  46679. // Contains the output of DescribeVpcEndpoints.
  46680. type DescribeVpcEndpointsOutput struct {
  46681. _ struct{} `type:"structure"`
  46682. // The token to use when requesting the next set of items. If there are no additional
  46683. // items to return, the string is empty.
  46684. NextToken *string `locationName:"nextToken" type:"string"`
  46685. // Information about the endpoints.
  46686. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  46687. }
  46688. // String returns the string representation
  46689. func (s DescribeVpcEndpointsOutput) String() string {
  46690. return awsutil.Prettify(s)
  46691. }
  46692. // GoString returns the string representation
  46693. func (s DescribeVpcEndpointsOutput) GoString() string {
  46694. return s.String()
  46695. }
  46696. // SetNextToken sets the NextToken field's value.
  46697. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  46698. s.NextToken = &v
  46699. return s
  46700. }
  46701. // SetVpcEndpoints sets the VpcEndpoints field's value.
  46702. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  46703. s.VpcEndpoints = v
  46704. return s
  46705. }
  46706. type DescribeVpcPeeringConnectionsInput struct {
  46707. _ struct{} `type:"structure"`
  46708. // Checks whether you have the required permissions for the action, without
  46709. // actually making the request, and provides an error response. If you have
  46710. // the required permissions, the error response is DryRunOperation. Otherwise,
  46711. // it is UnauthorizedOperation.
  46712. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46713. // One or more filters.
  46714. //
  46715. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
  46716. //
  46717. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  46718. // accepter VPC.
  46719. //
  46720. // * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
  46721. //
  46722. // * expiration-time - The expiration date and time for the VPC peering connection.
  46723. //
  46724. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  46725. // VPC.
  46726. //
  46727. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  46728. // requester VPC.
  46729. //
  46730. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  46731. //
  46732. // * status-code - The status of the VPC peering connection (pending-acceptance
  46733. // | failed | expired | provisioning | active | deleting | deleted | rejected).
  46734. //
  46735. // * status-message - A message that provides more information about the
  46736. // status of the VPC peering connection, if applicable.
  46737. //
  46738. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  46739. // Use the tag key in the filter name and the tag value as the filter value.
  46740. // For example, to find all resources that have a tag with the key Owner
  46741. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  46742. // the filter value.
  46743. //
  46744. // * tag-key - The key of a tag assigned to the resource. Use this filter
  46745. // to find all resources assigned a tag with a specific key, regardless of
  46746. // the tag value.
  46747. //
  46748. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  46749. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46750. // The maximum number of results to return with a single call. To retrieve the
  46751. // remaining results, make another call with the returned nextToken value.
  46752. MaxResults *int64 `min:"5" type:"integer"`
  46753. // The token for the next page of results.
  46754. NextToken *string `type:"string"`
  46755. // One or more VPC peering connection IDs.
  46756. //
  46757. // Default: Describes all your VPC peering connections.
  46758. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  46759. }
  46760. // String returns the string representation
  46761. func (s DescribeVpcPeeringConnectionsInput) String() string {
  46762. return awsutil.Prettify(s)
  46763. }
  46764. // GoString returns the string representation
  46765. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  46766. return s.String()
  46767. }
  46768. // Validate inspects the fields of the type to determine if they are valid.
  46769. func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
  46770. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
  46771. if s.MaxResults != nil && *s.MaxResults < 5 {
  46772. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  46773. }
  46774. if invalidParams.Len() > 0 {
  46775. return invalidParams
  46776. }
  46777. return nil
  46778. }
  46779. // SetDryRun sets the DryRun field's value.
  46780. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  46781. s.DryRun = &v
  46782. return s
  46783. }
  46784. // SetFilters sets the Filters field's value.
  46785. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  46786. s.Filters = v
  46787. return s
  46788. }
  46789. // SetMaxResults sets the MaxResults field's value.
  46790. func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
  46791. s.MaxResults = &v
  46792. return s
  46793. }
  46794. // SetNextToken sets the NextToken field's value.
  46795. func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
  46796. s.NextToken = &v
  46797. return s
  46798. }
  46799. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  46800. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  46801. s.VpcPeeringConnectionIds = v
  46802. return s
  46803. }
  46804. type DescribeVpcPeeringConnectionsOutput struct {
  46805. _ struct{} `type:"structure"`
  46806. // The token to use to retrieve the next page of results. This value is null
  46807. // when there are no more results to return.
  46808. NextToken *string `locationName:"nextToken" type:"string"`
  46809. // Information about the VPC peering connections.
  46810. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  46811. }
  46812. // String returns the string representation
  46813. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  46814. return awsutil.Prettify(s)
  46815. }
  46816. // GoString returns the string representation
  46817. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  46818. return s.String()
  46819. }
  46820. // SetNextToken sets the NextToken field's value.
  46821. func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
  46822. s.NextToken = &v
  46823. return s
  46824. }
  46825. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  46826. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  46827. s.VpcPeeringConnections = v
  46828. return s
  46829. }
  46830. type DescribeVpcsInput struct {
  46831. _ struct{} `type:"structure"`
  46832. // Checks whether you have the required permissions for the action, without
  46833. // actually making the request, and provides an error response. If you have
  46834. // the required permissions, the error response is DryRunOperation. Otherwise,
  46835. // it is UnauthorizedOperation.
  46836. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46837. // One or more filters.
  46838. //
  46839. // * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
  46840. // must exactly match the VPC's CIDR block for information to be returned
  46841. // for the VPC. Must contain the slash followed by one or two digits (for
  46842. // example, /28).
  46843. //
  46844. // * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
  46845. // the VPC.
  46846. //
  46847. // * cidr-block-association.association-id - The association ID for an IPv4
  46848. // CIDR block associated with the VPC.
  46849. //
  46850. // * cidr-block-association.state - The state of an IPv4 CIDR block associated
  46851. // with the VPC.
  46852. //
  46853. // * dhcp-options-id - The ID of a set of DHCP options.
  46854. //
  46855. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  46856. // with the VPC.
  46857. //
  46858. // * ipv6-cidr-block-association.association-id - The association ID for
  46859. // an IPv6 CIDR block associated with the VPC.
  46860. //
  46861. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  46862. // associated with the VPC.
  46863. //
  46864. // * isDefault - Indicates whether the VPC is the default VPC.
  46865. //
  46866. // * owner-id - The ID of the AWS account that owns the VPC.
  46867. //
  46868. // * state - The state of the VPC (pending | available).
  46869. //
  46870. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  46871. // Use the tag key in the filter name and the tag value as the filter value.
  46872. // For example, to find all resources that have a tag with the key Owner
  46873. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  46874. // the filter value.
  46875. //
  46876. // * tag-key - The key of a tag assigned to the resource. Use this filter
  46877. // to find all resources assigned a tag with a specific key, regardless of
  46878. // the tag value.
  46879. //
  46880. // * vpc-id - The ID of the VPC.
  46881. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  46882. // The maximum number of results to return with a single call. To retrieve the
  46883. // remaining results, make another call with the returned nextToken value.
  46884. MaxResults *int64 `min:"5" type:"integer"`
  46885. // The token for the next page of results.
  46886. NextToken *string `type:"string"`
  46887. // One or more VPC IDs.
  46888. //
  46889. // Default: Describes all your VPCs.
  46890. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  46891. }
  46892. // String returns the string representation
  46893. func (s DescribeVpcsInput) String() string {
  46894. return awsutil.Prettify(s)
  46895. }
  46896. // GoString returns the string representation
  46897. func (s DescribeVpcsInput) GoString() string {
  46898. return s.String()
  46899. }
  46900. // Validate inspects the fields of the type to determine if they are valid.
  46901. func (s *DescribeVpcsInput) Validate() error {
  46902. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
  46903. if s.MaxResults != nil && *s.MaxResults < 5 {
  46904. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  46905. }
  46906. if invalidParams.Len() > 0 {
  46907. return invalidParams
  46908. }
  46909. return nil
  46910. }
  46911. // SetDryRun sets the DryRun field's value.
  46912. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  46913. s.DryRun = &v
  46914. return s
  46915. }
  46916. // SetFilters sets the Filters field's value.
  46917. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  46918. s.Filters = v
  46919. return s
  46920. }
  46921. // SetMaxResults sets the MaxResults field's value.
  46922. func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
  46923. s.MaxResults = &v
  46924. return s
  46925. }
  46926. // SetNextToken sets the NextToken field's value.
  46927. func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
  46928. s.NextToken = &v
  46929. return s
  46930. }
  46931. // SetVpcIds sets the VpcIds field's value.
  46932. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  46933. s.VpcIds = v
  46934. return s
  46935. }
  46936. type DescribeVpcsOutput struct {
  46937. _ struct{} `type:"structure"`
  46938. // The token to use to retrieve the next page of results. This value is null
  46939. // when there are no more results to return.
  46940. NextToken *string `locationName:"nextToken" type:"string"`
  46941. // Information about one or more VPCs.
  46942. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  46943. }
  46944. // String returns the string representation
  46945. func (s DescribeVpcsOutput) String() string {
  46946. return awsutil.Prettify(s)
  46947. }
  46948. // GoString returns the string representation
  46949. func (s DescribeVpcsOutput) GoString() string {
  46950. return s.String()
  46951. }
  46952. // SetNextToken sets the NextToken field's value.
  46953. func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
  46954. s.NextToken = &v
  46955. return s
  46956. }
  46957. // SetVpcs sets the Vpcs field's value.
  46958. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  46959. s.Vpcs = v
  46960. return s
  46961. }
  46962. // Contains the parameters for DescribeVpnConnections.
  46963. type DescribeVpnConnectionsInput struct {
  46964. _ struct{} `type:"structure"`
  46965. // Checks whether you have the required permissions for the action, without
  46966. // actually making the request, and provides an error response. If you have
  46967. // the required permissions, the error response is DryRunOperation. Otherwise,
  46968. // it is UnauthorizedOperation.
  46969. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46970. // One or more filters.
  46971. //
  46972. // * customer-gateway-configuration - The configuration information for the
  46973. // customer gateway.
  46974. //
  46975. // * customer-gateway-id - The ID of a customer gateway associated with the
  46976. // VPN connection.
  46977. //
  46978. // * state - The state of the VPN connection (pending | available | deleting
  46979. // | deleted).
  46980. //
  46981. // * option.static-routes-only - Indicates whether the connection has static
  46982. // routes only. Used for devices that do not support Border Gateway Protocol
  46983. // (BGP).
  46984. //
  46985. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  46986. // to the subnet used in a customer data center.
  46987. //
  46988. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  46989. // device.
  46990. //
  46991. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  46992. // Use the tag key in the filter name and the tag value as the filter value.
  46993. // For example, to find all resources that have a tag with the key Owner
  46994. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  46995. // the filter value.
  46996. //
  46997. // * tag-key - The key of a tag assigned to the resource. Use this filter
  46998. // to find all resources assigned a tag with a specific key, regardless of
  46999. // the tag value.
  47000. //
  47001. // * type - The type of VPN connection. Currently the only supported type
  47002. // is ipsec.1.
  47003. //
  47004. // * vpn-connection-id - The ID of the VPN connection.
  47005. //
  47006. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  47007. // the VPN connection.
  47008. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47009. // One or more VPN connection IDs.
  47010. //
  47011. // Default: Describes your VPN connections.
  47012. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  47013. }
  47014. // String returns the string representation
  47015. func (s DescribeVpnConnectionsInput) String() string {
  47016. return awsutil.Prettify(s)
  47017. }
  47018. // GoString returns the string representation
  47019. func (s DescribeVpnConnectionsInput) GoString() string {
  47020. return s.String()
  47021. }
  47022. // SetDryRun sets the DryRun field's value.
  47023. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  47024. s.DryRun = &v
  47025. return s
  47026. }
  47027. // SetFilters sets the Filters field's value.
  47028. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  47029. s.Filters = v
  47030. return s
  47031. }
  47032. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  47033. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  47034. s.VpnConnectionIds = v
  47035. return s
  47036. }
  47037. // Contains the output of DescribeVpnConnections.
  47038. type DescribeVpnConnectionsOutput struct {
  47039. _ struct{} `type:"structure"`
  47040. // Information about one or more VPN connections.
  47041. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  47042. }
  47043. // String returns the string representation
  47044. func (s DescribeVpnConnectionsOutput) String() string {
  47045. return awsutil.Prettify(s)
  47046. }
  47047. // GoString returns the string representation
  47048. func (s DescribeVpnConnectionsOutput) GoString() string {
  47049. return s.String()
  47050. }
  47051. // SetVpnConnections sets the VpnConnections field's value.
  47052. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  47053. s.VpnConnections = v
  47054. return s
  47055. }
  47056. // Contains the parameters for DescribeVpnGateways.
  47057. type DescribeVpnGatewaysInput struct {
  47058. _ struct{} `type:"structure"`
  47059. // Checks whether you have the required permissions for the action, without
  47060. // actually making the request, and provides an error response. If you have
  47061. // the required permissions, the error response is DryRunOperation. Otherwise,
  47062. // it is UnauthorizedOperation.
  47063. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47064. // One or more filters.
  47065. //
  47066. // * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
  47067. // side of the gateway.
  47068. //
  47069. // * attachment.state - The current state of the attachment between the gateway
  47070. // and the VPC (attaching | attached | detaching | detached).
  47071. //
  47072. // * attachment.vpc-id - The ID of an attached VPC.
  47073. //
  47074. // * availability-zone - The Availability Zone for the virtual private gateway
  47075. // (if applicable).
  47076. //
  47077. // * state - The state of the virtual private gateway (pending | available
  47078. // | deleting | deleted).
  47079. //
  47080. // * tag:<key> - The key/value combination of a tag assigned to the resource.
  47081. // Use the tag key in the filter name and the tag value as the filter value.
  47082. // For example, to find all resources that have a tag with the key Owner
  47083. // and the value TeamA, specify tag:Owner for the filter name and TeamA for
  47084. // the filter value.
  47085. //
  47086. // * tag-key - The key of a tag assigned to the resource. Use this filter
  47087. // to find all resources assigned a tag with a specific key, regardless of
  47088. // the tag value.
  47089. //
  47090. // * type - The type of virtual private gateway. Currently the only supported
  47091. // type is ipsec.1.
  47092. //
  47093. // * vpn-gateway-id - The ID of the virtual private gateway.
  47094. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  47095. // One or more virtual private gateway IDs.
  47096. //
  47097. // Default: Describes all your virtual private gateways.
  47098. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  47099. }
  47100. // String returns the string representation
  47101. func (s DescribeVpnGatewaysInput) String() string {
  47102. return awsutil.Prettify(s)
  47103. }
  47104. // GoString returns the string representation
  47105. func (s DescribeVpnGatewaysInput) GoString() string {
  47106. return s.String()
  47107. }
  47108. // SetDryRun sets the DryRun field's value.
  47109. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  47110. s.DryRun = &v
  47111. return s
  47112. }
  47113. // SetFilters sets the Filters field's value.
  47114. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  47115. s.Filters = v
  47116. return s
  47117. }
  47118. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  47119. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  47120. s.VpnGatewayIds = v
  47121. return s
  47122. }
  47123. // Contains the output of DescribeVpnGateways.
  47124. type DescribeVpnGatewaysOutput struct {
  47125. _ struct{} `type:"structure"`
  47126. // Information about one or more virtual private gateways.
  47127. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  47128. }
  47129. // String returns the string representation
  47130. func (s DescribeVpnGatewaysOutput) String() string {
  47131. return awsutil.Prettify(s)
  47132. }
  47133. // GoString returns the string representation
  47134. func (s DescribeVpnGatewaysOutput) GoString() string {
  47135. return s.String()
  47136. }
  47137. // SetVpnGateways sets the VpnGateways field's value.
  47138. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  47139. s.VpnGateways = v
  47140. return s
  47141. }
  47142. type DetachClassicLinkVpcInput struct {
  47143. _ struct{} `type:"structure"`
  47144. // Checks whether you have the required permissions for the action, without
  47145. // actually making the request, and provides an error response. If you have
  47146. // the required permissions, the error response is DryRunOperation. Otherwise,
  47147. // it is UnauthorizedOperation.
  47148. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47149. // The ID of the instance to unlink from the VPC.
  47150. //
  47151. // InstanceId is a required field
  47152. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  47153. // The ID of the VPC to which the instance is linked.
  47154. //
  47155. // VpcId is a required field
  47156. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  47157. }
  47158. // String returns the string representation
  47159. func (s DetachClassicLinkVpcInput) String() string {
  47160. return awsutil.Prettify(s)
  47161. }
  47162. // GoString returns the string representation
  47163. func (s DetachClassicLinkVpcInput) GoString() string {
  47164. return s.String()
  47165. }
  47166. // Validate inspects the fields of the type to determine if they are valid.
  47167. func (s *DetachClassicLinkVpcInput) Validate() error {
  47168. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  47169. if s.InstanceId == nil {
  47170. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  47171. }
  47172. if s.VpcId == nil {
  47173. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47174. }
  47175. if invalidParams.Len() > 0 {
  47176. return invalidParams
  47177. }
  47178. return nil
  47179. }
  47180. // SetDryRun sets the DryRun field's value.
  47181. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  47182. s.DryRun = &v
  47183. return s
  47184. }
  47185. // SetInstanceId sets the InstanceId field's value.
  47186. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  47187. s.InstanceId = &v
  47188. return s
  47189. }
  47190. // SetVpcId sets the VpcId field's value.
  47191. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  47192. s.VpcId = &v
  47193. return s
  47194. }
  47195. type DetachClassicLinkVpcOutput struct {
  47196. _ struct{} `type:"structure"`
  47197. // Returns true if the request succeeds; otherwise, it returns an error.
  47198. Return *bool `locationName:"return" type:"boolean"`
  47199. }
  47200. // String returns the string representation
  47201. func (s DetachClassicLinkVpcOutput) String() string {
  47202. return awsutil.Prettify(s)
  47203. }
  47204. // GoString returns the string representation
  47205. func (s DetachClassicLinkVpcOutput) GoString() string {
  47206. return s.String()
  47207. }
  47208. // SetReturn sets the Return field's value.
  47209. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  47210. s.Return = &v
  47211. return s
  47212. }
  47213. type DetachInternetGatewayInput struct {
  47214. _ struct{} `type:"structure"`
  47215. // Checks whether you have the required permissions for the action, without
  47216. // actually making the request, and provides an error response. If you have
  47217. // the required permissions, the error response is DryRunOperation. Otherwise,
  47218. // it is UnauthorizedOperation.
  47219. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47220. // The ID of the internet gateway.
  47221. //
  47222. // InternetGatewayId is a required field
  47223. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  47224. // The ID of the VPC.
  47225. //
  47226. // VpcId is a required field
  47227. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  47228. }
  47229. // String returns the string representation
  47230. func (s DetachInternetGatewayInput) String() string {
  47231. return awsutil.Prettify(s)
  47232. }
  47233. // GoString returns the string representation
  47234. func (s DetachInternetGatewayInput) GoString() string {
  47235. return s.String()
  47236. }
  47237. // Validate inspects the fields of the type to determine if they are valid.
  47238. func (s *DetachInternetGatewayInput) Validate() error {
  47239. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  47240. if s.InternetGatewayId == nil {
  47241. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  47242. }
  47243. if s.VpcId == nil {
  47244. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47245. }
  47246. if invalidParams.Len() > 0 {
  47247. return invalidParams
  47248. }
  47249. return nil
  47250. }
  47251. // SetDryRun sets the DryRun field's value.
  47252. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  47253. s.DryRun = &v
  47254. return s
  47255. }
  47256. // SetInternetGatewayId sets the InternetGatewayId field's value.
  47257. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  47258. s.InternetGatewayId = &v
  47259. return s
  47260. }
  47261. // SetVpcId sets the VpcId field's value.
  47262. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  47263. s.VpcId = &v
  47264. return s
  47265. }
  47266. type DetachInternetGatewayOutput struct {
  47267. _ struct{} `type:"structure"`
  47268. }
  47269. // String returns the string representation
  47270. func (s DetachInternetGatewayOutput) String() string {
  47271. return awsutil.Prettify(s)
  47272. }
  47273. // GoString returns the string representation
  47274. func (s DetachInternetGatewayOutput) GoString() string {
  47275. return s.String()
  47276. }
  47277. // Contains the parameters for DetachNetworkInterface.
  47278. type DetachNetworkInterfaceInput struct {
  47279. _ struct{} `type:"structure"`
  47280. // The ID of the attachment.
  47281. //
  47282. // AttachmentId is a required field
  47283. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  47284. // Checks whether you have the required permissions for the action, without
  47285. // actually making the request, and provides an error response. If you have
  47286. // the required permissions, the error response is DryRunOperation. Otherwise,
  47287. // it is UnauthorizedOperation.
  47288. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47289. // Specifies whether to force a detachment.
  47290. Force *bool `locationName:"force" type:"boolean"`
  47291. }
  47292. // String returns the string representation
  47293. func (s DetachNetworkInterfaceInput) String() string {
  47294. return awsutil.Prettify(s)
  47295. }
  47296. // GoString returns the string representation
  47297. func (s DetachNetworkInterfaceInput) GoString() string {
  47298. return s.String()
  47299. }
  47300. // Validate inspects the fields of the type to determine if they are valid.
  47301. func (s *DetachNetworkInterfaceInput) Validate() error {
  47302. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  47303. if s.AttachmentId == nil {
  47304. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  47305. }
  47306. if invalidParams.Len() > 0 {
  47307. return invalidParams
  47308. }
  47309. return nil
  47310. }
  47311. // SetAttachmentId sets the AttachmentId field's value.
  47312. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  47313. s.AttachmentId = &v
  47314. return s
  47315. }
  47316. // SetDryRun sets the DryRun field's value.
  47317. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  47318. s.DryRun = &v
  47319. return s
  47320. }
  47321. // SetForce sets the Force field's value.
  47322. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  47323. s.Force = &v
  47324. return s
  47325. }
  47326. type DetachNetworkInterfaceOutput struct {
  47327. _ struct{} `type:"structure"`
  47328. }
  47329. // String returns the string representation
  47330. func (s DetachNetworkInterfaceOutput) String() string {
  47331. return awsutil.Prettify(s)
  47332. }
  47333. // GoString returns the string representation
  47334. func (s DetachNetworkInterfaceOutput) GoString() string {
  47335. return s.String()
  47336. }
  47337. // Contains the parameters for DetachVolume.
  47338. type DetachVolumeInput struct {
  47339. _ struct{} `type:"structure"`
  47340. // The device name.
  47341. Device *string `type:"string"`
  47342. // Checks whether you have the required permissions for the action, without
  47343. // actually making the request, and provides an error response. If you have
  47344. // the required permissions, the error response is DryRunOperation. Otherwise,
  47345. // it is UnauthorizedOperation.
  47346. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47347. // Forces detachment if the previous detachment attempt did not occur cleanly
  47348. // (for example, logging into an instance, unmounting the volume, and detaching
  47349. // normally). This option can lead to data loss or a corrupted file system.
  47350. // Use this option only as a last resort to detach a volume from a failed instance.
  47351. // The instance won't have an opportunity to flush file system caches or file
  47352. // system metadata. If you use this option, you must perform file system check
  47353. // and repair procedures.
  47354. Force *bool `type:"boolean"`
  47355. // The ID of the instance.
  47356. InstanceId *string `type:"string"`
  47357. // The ID of the volume.
  47358. //
  47359. // VolumeId is a required field
  47360. VolumeId *string `type:"string" required:"true"`
  47361. }
  47362. // String returns the string representation
  47363. func (s DetachVolumeInput) String() string {
  47364. return awsutil.Prettify(s)
  47365. }
  47366. // GoString returns the string representation
  47367. func (s DetachVolumeInput) GoString() string {
  47368. return s.String()
  47369. }
  47370. // Validate inspects the fields of the type to determine if they are valid.
  47371. func (s *DetachVolumeInput) Validate() error {
  47372. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  47373. if s.VolumeId == nil {
  47374. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  47375. }
  47376. if invalidParams.Len() > 0 {
  47377. return invalidParams
  47378. }
  47379. return nil
  47380. }
  47381. // SetDevice sets the Device field's value.
  47382. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  47383. s.Device = &v
  47384. return s
  47385. }
  47386. // SetDryRun sets the DryRun field's value.
  47387. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  47388. s.DryRun = &v
  47389. return s
  47390. }
  47391. // SetForce sets the Force field's value.
  47392. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  47393. s.Force = &v
  47394. return s
  47395. }
  47396. // SetInstanceId sets the InstanceId field's value.
  47397. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  47398. s.InstanceId = &v
  47399. return s
  47400. }
  47401. // SetVolumeId sets the VolumeId field's value.
  47402. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  47403. s.VolumeId = &v
  47404. return s
  47405. }
  47406. // Contains the parameters for DetachVpnGateway.
  47407. type DetachVpnGatewayInput struct {
  47408. _ struct{} `type:"structure"`
  47409. // Checks whether you have the required permissions for the action, without
  47410. // actually making the request, and provides an error response. If you have
  47411. // the required permissions, the error response is DryRunOperation. Otherwise,
  47412. // it is UnauthorizedOperation.
  47413. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47414. // The ID of the VPC.
  47415. //
  47416. // VpcId is a required field
  47417. VpcId *string `type:"string" required:"true"`
  47418. // The ID of the virtual private gateway.
  47419. //
  47420. // VpnGatewayId is a required field
  47421. VpnGatewayId *string `type:"string" required:"true"`
  47422. }
  47423. // String returns the string representation
  47424. func (s DetachVpnGatewayInput) String() string {
  47425. return awsutil.Prettify(s)
  47426. }
  47427. // GoString returns the string representation
  47428. func (s DetachVpnGatewayInput) GoString() string {
  47429. return s.String()
  47430. }
  47431. // Validate inspects the fields of the type to determine if they are valid.
  47432. func (s *DetachVpnGatewayInput) Validate() error {
  47433. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  47434. if s.VpcId == nil {
  47435. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47436. }
  47437. if s.VpnGatewayId == nil {
  47438. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  47439. }
  47440. if invalidParams.Len() > 0 {
  47441. return invalidParams
  47442. }
  47443. return nil
  47444. }
  47445. // SetDryRun sets the DryRun field's value.
  47446. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  47447. s.DryRun = &v
  47448. return s
  47449. }
  47450. // SetVpcId sets the VpcId field's value.
  47451. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  47452. s.VpcId = &v
  47453. return s
  47454. }
  47455. // SetVpnGatewayId sets the VpnGatewayId field's value.
  47456. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  47457. s.VpnGatewayId = &v
  47458. return s
  47459. }
  47460. type DetachVpnGatewayOutput struct {
  47461. _ struct{} `type:"structure"`
  47462. }
  47463. // String returns the string representation
  47464. func (s DetachVpnGatewayOutput) String() string {
  47465. return awsutil.Prettify(s)
  47466. }
  47467. // GoString returns the string representation
  47468. func (s DetachVpnGatewayOutput) GoString() string {
  47469. return s.String()
  47470. }
  47471. // Describes a DHCP configuration option.
  47472. type DhcpConfiguration struct {
  47473. _ struct{} `type:"structure"`
  47474. // The name of a DHCP option.
  47475. Key *string `locationName:"key" type:"string"`
  47476. // One or more values for the DHCP option.
  47477. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  47478. }
  47479. // String returns the string representation
  47480. func (s DhcpConfiguration) String() string {
  47481. return awsutil.Prettify(s)
  47482. }
  47483. // GoString returns the string representation
  47484. func (s DhcpConfiguration) GoString() string {
  47485. return s.String()
  47486. }
  47487. // SetKey sets the Key field's value.
  47488. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  47489. s.Key = &v
  47490. return s
  47491. }
  47492. // SetValues sets the Values field's value.
  47493. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  47494. s.Values = v
  47495. return s
  47496. }
  47497. // Describes a set of DHCP options.
  47498. type DhcpOptions struct {
  47499. _ struct{} `type:"structure"`
  47500. // One or more DHCP options in the set.
  47501. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  47502. // The ID of the set of DHCP options.
  47503. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  47504. // The ID of the AWS account that owns the DHCP options set.
  47505. OwnerId *string `locationName:"ownerId" type:"string"`
  47506. // Any tags assigned to the DHCP options set.
  47507. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47508. }
  47509. // String returns the string representation
  47510. func (s DhcpOptions) String() string {
  47511. return awsutil.Prettify(s)
  47512. }
  47513. // GoString returns the string representation
  47514. func (s DhcpOptions) GoString() string {
  47515. return s.String()
  47516. }
  47517. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  47518. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  47519. s.DhcpConfigurations = v
  47520. return s
  47521. }
  47522. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  47523. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  47524. s.DhcpOptionsId = &v
  47525. return s
  47526. }
  47527. // SetOwnerId sets the OwnerId field's value.
  47528. func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
  47529. s.OwnerId = &v
  47530. return s
  47531. }
  47532. // SetTags sets the Tags field's value.
  47533. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  47534. s.Tags = v
  47535. return s
  47536. }
  47537. // Describes an Active Directory.
  47538. type DirectoryServiceAuthentication struct {
  47539. _ struct{} `type:"structure"`
  47540. // The ID of the Active Directory used for authentication.
  47541. DirectoryId *string `locationName:"directoryId" type:"string"`
  47542. }
  47543. // String returns the string representation
  47544. func (s DirectoryServiceAuthentication) String() string {
  47545. return awsutil.Prettify(s)
  47546. }
  47547. // GoString returns the string representation
  47548. func (s DirectoryServiceAuthentication) GoString() string {
  47549. return s.String()
  47550. }
  47551. // SetDirectoryId sets the DirectoryId field's value.
  47552. func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
  47553. s.DirectoryId = &v
  47554. return s
  47555. }
  47556. // Describes the Active Directory to be used for client authentication.
  47557. type DirectoryServiceAuthenticationRequest struct {
  47558. _ struct{} `type:"structure"`
  47559. // The ID of the Active Directory to be used for authentication.
  47560. DirectoryId *string `type:"string"`
  47561. }
  47562. // String returns the string representation
  47563. func (s DirectoryServiceAuthenticationRequest) String() string {
  47564. return awsutil.Prettify(s)
  47565. }
  47566. // GoString returns the string representation
  47567. func (s DirectoryServiceAuthenticationRequest) GoString() string {
  47568. return s.String()
  47569. }
  47570. // SetDirectoryId sets the DirectoryId field's value.
  47571. func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
  47572. s.DirectoryId = &v
  47573. return s
  47574. }
  47575. type DisableTransitGatewayRouteTablePropagationInput struct {
  47576. _ struct{} `type:"structure"`
  47577. // Checks whether you have the required permissions for the action, without
  47578. // actually making the request, and provides an error response. If you have
  47579. // the required permissions, the error response is DryRunOperation. Otherwise,
  47580. // it is UnauthorizedOperation.
  47581. DryRun *bool `type:"boolean"`
  47582. // The ID of the attachment.
  47583. //
  47584. // TransitGatewayAttachmentId is a required field
  47585. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  47586. // The ID of the propagation route table.
  47587. //
  47588. // TransitGatewayRouteTableId is a required field
  47589. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  47590. }
  47591. // String returns the string representation
  47592. func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
  47593. return awsutil.Prettify(s)
  47594. }
  47595. // GoString returns the string representation
  47596. func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
  47597. return s.String()
  47598. }
  47599. // Validate inspects the fields of the type to determine if they are valid.
  47600. func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
  47601. invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
  47602. if s.TransitGatewayAttachmentId == nil {
  47603. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  47604. }
  47605. if s.TransitGatewayRouteTableId == nil {
  47606. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  47607. }
  47608. if invalidParams.Len() > 0 {
  47609. return invalidParams
  47610. }
  47611. return nil
  47612. }
  47613. // SetDryRun sets the DryRun field's value.
  47614. func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
  47615. s.DryRun = &v
  47616. return s
  47617. }
  47618. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  47619. func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
  47620. s.TransitGatewayAttachmentId = &v
  47621. return s
  47622. }
  47623. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  47624. func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
  47625. s.TransitGatewayRouteTableId = &v
  47626. return s
  47627. }
  47628. type DisableTransitGatewayRouteTablePropagationOutput struct {
  47629. _ struct{} `type:"structure"`
  47630. // Information about route propagation.
  47631. Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
  47632. }
  47633. // String returns the string representation
  47634. func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
  47635. return awsutil.Prettify(s)
  47636. }
  47637. // GoString returns the string representation
  47638. func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
  47639. return s.String()
  47640. }
  47641. // SetPropagation sets the Propagation field's value.
  47642. func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
  47643. s.Propagation = v
  47644. return s
  47645. }
  47646. // Contains the parameters for DisableVgwRoutePropagation.
  47647. type DisableVgwRoutePropagationInput struct {
  47648. _ struct{} `type:"structure"`
  47649. // The ID of the virtual private gateway.
  47650. //
  47651. // GatewayId is a required field
  47652. GatewayId *string `type:"string" required:"true"`
  47653. // The ID of the route table.
  47654. //
  47655. // RouteTableId is a required field
  47656. RouteTableId *string `type:"string" required:"true"`
  47657. }
  47658. // String returns the string representation
  47659. func (s DisableVgwRoutePropagationInput) String() string {
  47660. return awsutil.Prettify(s)
  47661. }
  47662. // GoString returns the string representation
  47663. func (s DisableVgwRoutePropagationInput) GoString() string {
  47664. return s.String()
  47665. }
  47666. // Validate inspects the fields of the type to determine if they are valid.
  47667. func (s *DisableVgwRoutePropagationInput) Validate() error {
  47668. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  47669. if s.GatewayId == nil {
  47670. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  47671. }
  47672. if s.RouteTableId == nil {
  47673. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  47674. }
  47675. if invalidParams.Len() > 0 {
  47676. return invalidParams
  47677. }
  47678. return nil
  47679. }
  47680. // SetGatewayId sets the GatewayId field's value.
  47681. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  47682. s.GatewayId = &v
  47683. return s
  47684. }
  47685. // SetRouteTableId sets the RouteTableId field's value.
  47686. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  47687. s.RouteTableId = &v
  47688. return s
  47689. }
  47690. type DisableVgwRoutePropagationOutput struct {
  47691. _ struct{} `type:"structure"`
  47692. }
  47693. // String returns the string representation
  47694. func (s DisableVgwRoutePropagationOutput) String() string {
  47695. return awsutil.Prettify(s)
  47696. }
  47697. // GoString returns the string representation
  47698. func (s DisableVgwRoutePropagationOutput) GoString() string {
  47699. return s.String()
  47700. }
  47701. type DisableVpcClassicLinkDnsSupportInput struct {
  47702. _ struct{} `type:"structure"`
  47703. // The ID of the VPC.
  47704. VpcId *string `type:"string"`
  47705. }
  47706. // String returns the string representation
  47707. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  47708. return awsutil.Prettify(s)
  47709. }
  47710. // GoString returns the string representation
  47711. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  47712. return s.String()
  47713. }
  47714. // SetVpcId sets the VpcId field's value.
  47715. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  47716. s.VpcId = &v
  47717. return s
  47718. }
  47719. type DisableVpcClassicLinkDnsSupportOutput struct {
  47720. _ struct{} `type:"structure"`
  47721. // Returns true if the request succeeds; otherwise, it returns an error.
  47722. Return *bool `locationName:"return" type:"boolean"`
  47723. }
  47724. // String returns the string representation
  47725. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  47726. return awsutil.Prettify(s)
  47727. }
  47728. // GoString returns the string representation
  47729. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  47730. return s.String()
  47731. }
  47732. // SetReturn sets the Return field's value.
  47733. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  47734. s.Return = &v
  47735. return s
  47736. }
  47737. type DisableVpcClassicLinkInput struct {
  47738. _ struct{} `type:"structure"`
  47739. // Checks whether you have the required permissions for the action, without
  47740. // actually making the request, and provides an error response. If you have
  47741. // the required permissions, the error response is DryRunOperation. Otherwise,
  47742. // it is UnauthorizedOperation.
  47743. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47744. // The ID of the VPC.
  47745. //
  47746. // VpcId is a required field
  47747. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  47748. }
  47749. // String returns the string representation
  47750. func (s DisableVpcClassicLinkInput) String() string {
  47751. return awsutil.Prettify(s)
  47752. }
  47753. // GoString returns the string representation
  47754. func (s DisableVpcClassicLinkInput) GoString() string {
  47755. return s.String()
  47756. }
  47757. // Validate inspects the fields of the type to determine if they are valid.
  47758. func (s *DisableVpcClassicLinkInput) Validate() error {
  47759. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  47760. if s.VpcId == nil {
  47761. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  47762. }
  47763. if invalidParams.Len() > 0 {
  47764. return invalidParams
  47765. }
  47766. return nil
  47767. }
  47768. // SetDryRun sets the DryRun field's value.
  47769. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  47770. s.DryRun = &v
  47771. return s
  47772. }
  47773. // SetVpcId sets the VpcId field's value.
  47774. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  47775. s.VpcId = &v
  47776. return s
  47777. }
  47778. type DisableVpcClassicLinkOutput struct {
  47779. _ struct{} `type:"structure"`
  47780. // Returns true if the request succeeds; otherwise, it returns an error.
  47781. Return *bool `locationName:"return" type:"boolean"`
  47782. }
  47783. // String returns the string representation
  47784. func (s DisableVpcClassicLinkOutput) String() string {
  47785. return awsutil.Prettify(s)
  47786. }
  47787. // GoString returns the string representation
  47788. func (s DisableVpcClassicLinkOutput) GoString() string {
  47789. return s.String()
  47790. }
  47791. // SetReturn sets the Return field's value.
  47792. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  47793. s.Return = &v
  47794. return s
  47795. }
  47796. type DisassociateAddressInput struct {
  47797. _ struct{} `type:"structure"`
  47798. // [EC2-VPC] The association ID. Required for EC2-VPC.
  47799. AssociationId *string `type:"string"`
  47800. // Checks whether you have the required permissions for the action, without
  47801. // actually making the request, and provides an error response. If you have
  47802. // the required permissions, the error response is DryRunOperation. Otherwise,
  47803. // it is UnauthorizedOperation.
  47804. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47805. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  47806. PublicIp *string `type:"string"`
  47807. }
  47808. // String returns the string representation
  47809. func (s DisassociateAddressInput) String() string {
  47810. return awsutil.Prettify(s)
  47811. }
  47812. // GoString returns the string representation
  47813. func (s DisassociateAddressInput) GoString() string {
  47814. return s.String()
  47815. }
  47816. // SetAssociationId sets the AssociationId field's value.
  47817. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  47818. s.AssociationId = &v
  47819. return s
  47820. }
  47821. // SetDryRun sets the DryRun field's value.
  47822. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  47823. s.DryRun = &v
  47824. return s
  47825. }
  47826. // SetPublicIp sets the PublicIp field's value.
  47827. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  47828. s.PublicIp = &v
  47829. return s
  47830. }
  47831. type DisassociateAddressOutput struct {
  47832. _ struct{} `type:"structure"`
  47833. }
  47834. // String returns the string representation
  47835. func (s DisassociateAddressOutput) String() string {
  47836. return awsutil.Prettify(s)
  47837. }
  47838. // GoString returns the string representation
  47839. func (s DisassociateAddressOutput) GoString() string {
  47840. return s.String()
  47841. }
  47842. type DisassociateClientVpnTargetNetworkInput struct {
  47843. _ struct{} `type:"structure"`
  47844. // The ID of the target network association.
  47845. //
  47846. // AssociationId is a required field
  47847. AssociationId *string `type:"string" required:"true"`
  47848. // The ID of the Client VPN endpoint from which to disassociate the target network.
  47849. //
  47850. // ClientVpnEndpointId is a required field
  47851. ClientVpnEndpointId *string `type:"string" required:"true"`
  47852. // Checks whether you have the required permissions for the action, without
  47853. // actually making the request, and provides an error response. If you have
  47854. // the required permissions, the error response is DryRunOperation. Otherwise,
  47855. // it is UnauthorizedOperation.
  47856. DryRun *bool `type:"boolean"`
  47857. }
  47858. // String returns the string representation
  47859. func (s DisassociateClientVpnTargetNetworkInput) String() string {
  47860. return awsutil.Prettify(s)
  47861. }
  47862. // GoString returns the string representation
  47863. func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
  47864. return s.String()
  47865. }
  47866. // Validate inspects the fields of the type to determine if they are valid.
  47867. func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
  47868. invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
  47869. if s.AssociationId == nil {
  47870. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  47871. }
  47872. if s.ClientVpnEndpointId == nil {
  47873. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  47874. }
  47875. if invalidParams.Len() > 0 {
  47876. return invalidParams
  47877. }
  47878. return nil
  47879. }
  47880. // SetAssociationId sets the AssociationId field's value.
  47881. func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
  47882. s.AssociationId = &v
  47883. return s
  47884. }
  47885. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  47886. func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
  47887. s.ClientVpnEndpointId = &v
  47888. return s
  47889. }
  47890. // SetDryRun sets the DryRun field's value.
  47891. func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
  47892. s.DryRun = &v
  47893. return s
  47894. }
  47895. type DisassociateClientVpnTargetNetworkOutput struct {
  47896. _ struct{} `type:"structure"`
  47897. // The ID of the target network association.
  47898. AssociationId *string `locationName:"associationId" type:"string"`
  47899. // The current state of the target network association.
  47900. Status *AssociationStatus `locationName:"status" type:"structure"`
  47901. }
  47902. // String returns the string representation
  47903. func (s DisassociateClientVpnTargetNetworkOutput) String() string {
  47904. return awsutil.Prettify(s)
  47905. }
  47906. // GoString returns the string representation
  47907. func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
  47908. return s.String()
  47909. }
  47910. // SetAssociationId sets the AssociationId field's value.
  47911. func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
  47912. s.AssociationId = &v
  47913. return s
  47914. }
  47915. // SetStatus sets the Status field's value.
  47916. func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
  47917. s.Status = v
  47918. return s
  47919. }
  47920. type DisassociateIamInstanceProfileInput struct {
  47921. _ struct{} `type:"structure"`
  47922. // The ID of the IAM instance profile association.
  47923. //
  47924. // AssociationId is a required field
  47925. AssociationId *string `type:"string" required:"true"`
  47926. }
  47927. // String returns the string representation
  47928. func (s DisassociateIamInstanceProfileInput) String() string {
  47929. return awsutil.Prettify(s)
  47930. }
  47931. // GoString returns the string representation
  47932. func (s DisassociateIamInstanceProfileInput) GoString() string {
  47933. return s.String()
  47934. }
  47935. // Validate inspects the fields of the type to determine if they are valid.
  47936. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  47937. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  47938. if s.AssociationId == nil {
  47939. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  47940. }
  47941. if invalidParams.Len() > 0 {
  47942. return invalidParams
  47943. }
  47944. return nil
  47945. }
  47946. // SetAssociationId sets the AssociationId field's value.
  47947. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  47948. s.AssociationId = &v
  47949. return s
  47950. }
  47951. type DisassociateIamInstanceProfileOutput struct {
  47952. _ struct{} `type:"structure"`
  47953. // Information about the IAM instance profile association.
  47954. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  47955. }
  47956. // String returns the string representation
  47957. func (s DisassociateIamInstanceProfileOutput) String() string {
  47958. return awsutil.Prettify(s)
  47959. }
  47960. // GoString returns the string representation
  47961. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  47962. return s.String()
  47963. }
  47964. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  47965. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  47966. s.IamInstanceProfileAssociation = v
  47967. return s
  47968. }
  47969. type DisassociateRouteTableInput struct {
  47970. _ struct{} `type:"structure"`
  47971. // The association ID representing the current association between the route
  47972. // table and subnet.
  47973. //
  47974. // AssociationId is a required field
  47975. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  47976. // Checks whether you have the required permissions for the action, without
  47977. // actually making the request, and provides an error response. If you have
  47978. // the required permissions, the error response is DryRunOperation. Otherwise,
  47979. // it is UnauthorizedOperation.
  47980. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47981. }
  47982. // String returns the string representation
  47983. func (s DisassociateRouteTableInput) String() string {
  47984. return awsutil.Prettify(s)
  47985. }
  47986. // GoString returns the string representation
  47987. func (s DisassociateRouteTableInput) GoString() string {
  47988. return s.String()
  47989. }
  47990. // Validate inspects the fields of the type to determine if they are valid.
  47991. func (s *DisassociateRouteTableInput) Validate() error {
  47992. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  47993. if s.AssociationId == nil {
  47994. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  47995. }
  47996. if invalidParams.Len() > 0 {
  47997. return invalidParams
  47998. }
  47999. return nil
  48000. }
  48001. // SetAssociationId sets the AssociationId field's value.
  48002. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  48003. s.AssociationId = &v
  48004. return s
  48005. }
  48006. // SetDryRun sets the DryRun field's value.
  48007. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  48008. s.DryRun = &v
  48009. return s
  48010. }
  48011. type DisassociateRouteTableOutput struct {
  48012. _ struct{} `type:"structure"`
  48013. }
  48014. // String returns the string representation
  48015. func (s DisassociateRouteTableOutput) String() string {
  48016. return awsutil.Prettify(s)
  48017. }
  48018. // GoString returns the string representation
  48019. func (s DisassociateRouteTableOutput) GoString() string {
  48020. return s.String()
  48021. }
  48022. type DisassociateSubnetCidrBlockInput struct {
  48023. _ struct{} `type:"structure"`
  48024. // The association ID for the CIDR block.
  48025. //
  48026. // AssociationId is a required field
  48027. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  48028. }
  48029. // String returns the string representation
  48030. func (s DisassociateSubnetCidrBlockInput) String() string {
  48031. return awsutil.Prettify(s)
  48032. }
  48033. // GoString returns the string representation
  48034. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  48035. return s.String()
  48036. }
  48037. // Validate inspects the fields of the type to determine if they are valid.
  48038. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  48039. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  48040. if s.AssociationId == nil {
  48041. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  48042. }
  48043. if invalidParams.Len() > 0 {
  48044. return invalidParams
  48045. }
  48046. return nil
  48047. }
  48048. // SetAssociationId sets the AssociationId field's value.
  48049. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  48050. s.AssociationId = &v
  48051. return s
  48052. }
  48053. type DisassociateSubnetCidrBlockOutput struct {
  48054. _ struct{} `type:"structure"`
  48055. // Information about the IPv6 CIDR block association.
  48056. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  48057. // The ID of the subnet.
  48058. SubnetId *string `locationName:"subnetId" type:"string"`
  48059. }
  48060. // String returns the string representation
  48061. func (s DisassociateSubnetCidrBlockOutput) String() string {
  48062. return awsutil.Prettify(s)
  48063. }
  48064. // GoString returns the string representation
  48065. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  48066. return s.String()
  48067. }
  48068. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  48069. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  48070. s.Ipv6CidrBlockAssociation = v
  48071. return s
  48072. }
  48073. // SetSubnetId sets the SubnetId field's value.
  48074. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  48075. s.SubnetId = &v
  48076. return s
  48077. }
  48078. type DisassociateTransitGatewayRouteTableInput struct {
  48079. _ struct{} `type:"structure"`
  48080. // Checks whether you have the required permissions for the action, without
  48081. // actually making the request, and provides an error response. If you have
  48082. // the required permissions, the error response is DryRunOperation. Otherwise,
  48083. // it is UnauthorizedOperation.
  48084. DryRun *bool `type:"boolean"`
  48085. // The ID of the attachment.
  48086. //
  48087. // TransitGatewayAttachmentId is a required field
  48088. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  48089. // The ID of the transit gateway route table.
  48090. //
  48091. // TransitGatewayRouteTableId is a required field
  48092. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  48093. }
  48094. // String returns the string representation
  48095. func (s DisassociateTransitGatewayRouteTableInput) String() string {
  48096. return awsutil.Prettify(s)
  48097. }
  48098. // GoString returns the string representation
  48099. func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
  48100. return s.String()
  48101. }
  48102. // Validate inspects the fields of the type to determine if they are valid.
  48103. func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
  48104. invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
  48105. if s.TransitGatewayAttachmentId == nil {
  48106. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  48107. }
  48108. if s.TransitGatewayRouteTableId == nil {
  48109. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  48110. }
  48111. if invalidParams.Len() > 0 {
  48112. return invalidParams
  48113. }
  48114. return nil
  48115. }
  48116. // SetDryRun sets the DryRun field's value.
  48117. func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
  48118. s.DryRun = &v
  48119. return s
  48120. }
  48121. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  48122. func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
  48123. s.TransitGatewayAttachmentId = &v
  48124. return s
  48125. }
  48126. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  48127. func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
  48128. s.TransitGatewayRouteTableId = &v
  48129. return s
  48130. }
  48131. type DisassociateTransitGatewayRouteTableOutput struct {
  48132. _ struct{} `type:"structure"`
  48133. // Information about the association.
  48134. Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
  48135. }
  48136. // String returns the string representation
  48137. func (s DisassociateTransitGatewayRouteTableOutput) String() string {
  48138. return awsutil.Prettify(s)
  48139. }
  48140. // GoString returns the string representation
  48141. func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
  48142. return s.String()
  48143. }
  48144. // SetAssociation sets the Association field's value.
  48145. func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
  48146. s.Association = v
  48147. return s
  48148. }
  48149. type DisassociateVpcCidrBlockInput struct {
  48150. _ struct{} `type:"structure"`
  48151. // The association ID for the CIDR block.
  48152. //
  48153. // AssociationId is a required field
  48154. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  48155. }
  48156. // String returns the string representation
  48157. func (s DisassociateVpcCidrBlockInput) String() string {
  48158. return awsutil.Prettify(s)
  48159. }
  48160. // GoString returns the string representation
  48161. func (s DisassociateVpcCidrBlockInput) GoString() string {
  48162. return s.String()
  48163. }
  48164. // Validate inspects the fields of the type to determine if they are valid.
  48165. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  48166. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  48167. if s.AssociationId == nil {
  48168. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  48169. }
  48170. if invalidParams.Len() > 0 {
  48171. return invalidParams
  48172. }
  48173. return nil
  48174. }
  48175. // SetAssociationId sets the AssociationId field's value.
  48176. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  48177. s.AssociationId = &v
  48178. return s
  48179. }
  48180. type DisassociateVpcCidrBlockOutput struct {
  48181. _ struct{} `type:"structure"`
  48182. // Information about the IPv4 CIDR block association.
  48183. CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
  48184. // Information about the IPv6 CIDR block association.
  48185. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  48186. // The ID of the VPC.
  48187. VpcId *string `locationName:"vpcId" type:"string"`
  48188. }
  48189. // String returns the string representation
  48190. func (s DisassociateVpcCidrBlockOutput) String() string {
  48191. return awsutil.Prettify(s)
  48192. }
  48193. // GoString returns the string representation
  48194. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  48195. return s.String()
  48196. }
  48197. // SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
  48198. func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  48199. s.CidrBlockAssociation = v
  48200. return s
  48201. }
  48202. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  48203. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  48204. s.Ipv6CidrBlockAssociation = v
  48205. return s
  48206. }
  48207. // SetVpcId sets the VpcId field's value.
  48208. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  48209. s.VpcId = &v
  48210. return s
  48211. }
  48212. // Describes a disk image.
  48213. type DiskImage struct {
  48214. _ struct{} `type:"structure"`
  48215. // A description of the disk image.
  48216. Description *string `type:"string"`
  48217. // Information about the disk image.
  48218. Image *DiskImageDetail `type:"structure"`
  48219. // Information about the volume.
  48220. Volume *VolumeDetail `type:"structure"`
  48221. }
  48222. // String returns the string representation
  48223. func (s DiskImage) String() string {
  48224. return awsutil.Prettify(s)
  48225. }
  48226. // GoString returns the string representation
  48227. func (s DiskImage) GoString() string {
  48228. return s.String()
  48229. }
  48230. // Validate inspects the fields of the type to determine if they are valid.
  48231. func (s *DiskImage) Validate() error {
  48232. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  48233. if s.Image != nil {
  48234. if err := s.Image.Validate(); err != nil {
  48235. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  48236. }
  48237. }
  48238. if s.Volume != nil {
  48239. if err := s.Volume.Validate(); err != nil {
  48240. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  48241. }
  48242. }
  48243. if invalidParams.Len() > 0 {
  48244. return invalidParams
  48245. }
  48246. return nil
  48247. }
  48248. // SetDescription sets the Description field's value.
  48249. func (s *DiskImage) SetDescription(v string) *DiskImage {
  48250. s.Description = &v
  48251. return s
  48252. }
  48253. // SetImage sets the Image field's value.
  48254. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  48255. s.Image = v
  48256. return s
  48257. }
  48258. // SetVolume sets the Volume field's value.
  48259. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  48260. s.Volume = v
  48261. return s
  48262. }
  48263. // Describes a disk image.
  48264. type DiskImageDescription struct {
  48265. _ struct{} `type:"structure"`
  48266. // The checksum computed for the disk image.
  48267. Checksum *string `locationName:"checksum" type:"string"`
  48268. // The disk image format.
  48269. Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
  48270. // A presigned URL for the import manifest stored in Amazon S3. For information
  48271. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  48272. // Request Authentication Alternative" section of the Authenticating REST Requests
  48273. // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  48274. // topic in the Amazon Simple Storage Service Developer Guide.
  48275. //
  48276. // For information about the import manifest referenced by this API action,
  48277. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  48278. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
  48279. // The size of the disk image, in GiB.
  48280. Size *int64 `locationName:"size" type:"long"`
  48281. }
  48282. // String returns the string representation
  48283. func (s DiskImageDescription) String() string {
  48284. return awsutil.Prettify(s)
  48285. }
  48286. // GoString returns the string representation
  48287. func (s DiskImageDescription) GoString() string {
  48288. return s.String()
  48289. }
  48290. // SetChecksum sets the Checksum field's value.
  48291. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  48292. s.Checksum = &v
  48293. return s
  48294. }
  48295. // SetFormat sets the Format field's value.
  48296. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  48297. s.Format = &v
  48298. return s
  48299. }
  48300. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  48301. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  48302. s.ImportManifestUrl = &v
  48303. return s
  48304. }
  48305. // SetSize sets the Size field's value.
  48306. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  48307. s.Size = &v
  48308. return s
  48309. }
  48310. // Describes a disk image.
  48311. type DiskImageDetail struct {
  48312. _ struct{} `type:"structure"`
  48313. // The size of the disk image, in GiB.
  48314. //
  48315. // Bytes is a required field
  48316. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  48317. // The disk image format.
  48318. //
  48319. // Format is a required field
  48320. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  48321. // A presigned URL for the import manifest stored in Amazon S3 and presented
  48322. // here as an Amazon S3 presigned URL. For information about creating a presigned
  48323. // URL for an Amazon S3 object, read the "Query String Request Authentication
  48324. // Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  48325. // topic in the Amazon Simple Storage Service Developer Guide.
  48326. //
  48327. // For information about the import manifest referenced by this API action,
  48328. // see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  48329. //
  48330. // ImportManifestUrl is a required field
  48331. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  48332. }
  48333. // String returns the string representation
  48334. func (s DiskImageDetail) String() string {
  48335. return awsutil.Prettify(s)
  48336. }
  48337. // GoString returns the string representation
  48338. func (s DiskImageDetail) GoString() string {
  48339. return s.String()
  48340. }
  48341. // Validate inspects the fields of the type to determine if they are valid.
  48342. func (s *DiskImageDetail) Validate() error {
  48343. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  48344. if s.Bytes == nil {
  48345. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  48346. }
  48347. if s.Format == nil {
  48348. invalidParams.Add(request.NewErrParamRequired("Format"))
  48349. }
  48350. if s.ImportManifestUrl == nil {
  48351. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  48352. }
  48353. if invalidParams.Len() > 0 {
  48354. return invalidParams
  48355. }
  48356. return nil
  48357. }
  48358. // SetBytes sets the Bytes field's value.
  48359. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  48360. s.Bytes = &v
  48361. return s
  48362. }
  48363. // SetFormat sets the Format field's value.
  48364. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  48365. s.Format = &v
  48366. return s
  48367. }
  48368. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  48369. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  48370. s.ImportManifestUrl = &v
  48371. return s
  48372. }
  48373. // Describes a disk image volume.
  48374. type DiskImageVolumeDescription struct {
  48375. _ struct{} `type:"structure"`
  48376. // The volume identifier.
  48377. Id *string `locationName:"id" type:"string"`
  48378. // The size of the volume, in GiB.
  48379. Size *int64 `locationName:"size" type:"long"`
  48380. }
  48381. // String returns the string representation
  48382. func (s DiskImageVolumeDescription) String() string {
  48383. return awsutil.Prettify(s)
  48384. }
  48385. // GoString returns the string representation
  48386. func (s DiskImageVolumeDescription) GoString() string {
  48387. return s.String()
  48388. }
  48389. // SetId sets the Id field's value.
  48390. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  48391. s.Id = &v
  48392. return s
  48393. }
  48394. // SetSize sets the Size field's value.
  48395. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  48396. s.Size = &v
  48397. return s
  48398. }
  48399. // Describes a DNS entry.
  48400. type DnsEntry struct {
  48401. _ struct{} `type:"structure"`
  48402. // The DNS name.
  48403. DnsName *string `locationName:"dnsName" type:"string"`
  48404. // The ID of the private hosted zone.
  48405. HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
  48406. }
  48407. // String returns the string representation
  48408. func (s DnsEntry) String() string {
  48409. return awsutil.Prettify(s)
  48410. }
  48411. // GoString returns the string representation
  48412. func (s DnsEntry) GoString() string {
  48413. return s.String()
  48414. }
  48415. // SetDnsName sets the DnsName field's value.
  48416. func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
  48417. s.DnsName = &v
  48418. return s
  48419. }
  48420. // SetHostedZoneId sets the HostedZoneId field's value.
  48421. func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
  48422. s.HostedZoneId = &v
  48423. return s
  48424. }
  48425. // Information about the DNS server to be used.
  48426. type DnsServersOptionsModifyStructure struct {
  48427. _ struct{} `type:"structure"`
  48428. // The IPv4 address range, in CIDR notation, of the DNS servers to be used.
  48429. // You can specify up to two DNS servers. Ensure that the DNS servers can be
  48430. // reached by the clients. The specified values overwrite the existing values.
  48431. CustomDnsServers []*string `locationNameList:"item" type:"list"`
  48432. // Indicates whether DNS servers should be used. Specify False to delete the
  48433. // existing DNS servers.
  48434. Enabled *bool `type:"boolean"`
  48435. }
  48436. // String returns the string representation
  48437. func (s DnsServersOptionsModifyStructure) String() string {
  48438. return awsutil.Prettify(s)
  48439. }
  48440. // GoString returns the string representation
  48441. func (s DnsServersOptionsModifyStructure) GoString() string {
  48442. return s.String()
  48443. }
  48444. // SetCustomDnsServers sets the CustomDnsServers field's value.
  48445. func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
  48446. s.CustomDnsServers = v
  48447. return s
  48448. }
  48449. // SetEnabled sets the Enabled field's value.
  48450. func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
  48451. s.Enabled = &v
  48452. return s
  48453. }
  48454. // Describes a block device for an EBS volume.
  48455. type EbsBlockDevice struct {
  48456. _ struct{} `type:"structure"`
  48457. // Indicates whether the EBS volume is deleted on instance termination.
  48458. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  48459. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  48460. // be attached to instances that support Amazon EBS encryption.
  48461. //
  48462. // If you are creating a volume from a snapshot, you cannot specify an encryption
  48463. // value. This is because only blank volumes can be encrypted on creation. If
  48464. // you are creating a snapshot from an existing EBS volume, you cannot specify
  48465. // an encryption value that differs from that of the EBS volume. We recommend
  48466. // that you omit the encryption value from the block device mappings when creating
  48467. // an image from an instance.
  48468. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  48469. // The number of I/O operations per second (IOPS) that the volume supports.
  48470. // For io1 volumes, this represents the number of IOPS that are provisioned
  48471. // for the volume. For gp2 volumes, this represents the baseline performance
  48472. // of the volume and the rate at which the volume accumulates I/O credits for
  48473. // bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  48474. // in the Amazon Elastic Compute Cloud User Guide.
  48475. //
  48476. // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
  48477. // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
  48478. // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  48479. // Other instance families guarantee performance up to 32,000 IOPS.
  48480. //
  48481. // Condition: This parameter is required for requests to create io1 volumes;
  48482. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  48483. Iops *int64 `locationName:"iops" type:"integer"`
  48484. // Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK
  48485. // under which the EBS volume is encrypted.
  48486. //
  48487. // This parameter is only supported on BlockDeviceMapping objects called by
  48488. // RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
  48489. // RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
  48490. // and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
  48491. KmsKeyId *string `type:"string"`
  48492. // The ID of the snapshot.
  48493. SnapshotId *string `locationName:"snapshotId" type:"string"`
  48494. // The size of the volume, in GiB.
  48495. //
  48496. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  48497. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  48498. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  48499. // a snapshot, the volume size must be equal to or larger than the snapshot
  48500. // size.
  48501. //
  48502. // Default: If you're creating the volume from a snapshot and don't specify
  48503. // a volume size, the default is the snapshot size.
  48504. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  48505. // The volume type: gp2, io1, st1, sc1, or standard.
  48506. //
  48507. // Default: standard
  48508. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  48509. }
  48510. // String returns the string representation
  48511. func (s EbsBlockDevice) String() string {
  48512. return awsutil.Prettify(s)
  48513. }
  48514. // GoString returns the string representation
  48515. func (s EbsBlockDevice) GoString() string {
  48516. return s.String()
  48517. }
  48518. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  48519. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  48520. s.DeleteOnTermination = &v
  48521. return s
  48522. }
  48523. // SetEncrypted sets the Encrypted field's value.
  48524. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  48525. s.Encrypted = &v
  48526. return s
  48527. }
  48528. // SetIops sets the Iops field's value.
  48529. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  48530. s.Iops = &v
  48531. return s
  48532. }
  48533. // SetKmsKeyId sets the KmsKeyId field's value.
  48534. func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
  48535. s.KmsKeyId = &v
  48536. return s
  48537. }
  48538. // SetSnapshotId sets the SnapshotId field's value.
  48539. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  48540. s.SnapshotId = &v
  48541. return s
  48542. }
  48543. // SetVolumeSize sets the VolumeSize field's value.
  48544. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  48545. s.VolumeSize = &v
  48546. return s
  48547. }
  48548. // SetVolumeType sets the VolumeType field's value.
  48549. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  48550. s.VolumeType = &v
  48551. return s
  48552. }
  48553. // Describes a parameter used to set up an EBS volume in a block device mapping.
  48554. type EbsInstanceBlockDevice struct {
  48555. _ struct{} `type:"structure"`
  48556. // The time stamp when the attachment initiated.
  48557. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  48558. // Indicates whether the volume is deleted on instance termination.
  48559. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  48560. // The attachment state.
  48561. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  48562. // The ID of the EBS volume.
  48563. VolumeId *string `locationName:"volumeId" type:"string"`
  48564. }
  48565. // String returns the string representation
  48566. func (s EbsInstanceBlockDevice) String() string {
  48567. return awsutil.Prettify(s)
  48568. }
  48569. // GoString returns the string representation
  48570. func (s EbsInstanceBlockDevice) GoString() string {
  48571. return s.String()
  48572. }
  48573. // SetAttachTime sets the AttachTime field's value.
  48574. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  48575. s.AttachTime = &v
  48576. return s
  48577. }
  48578. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  48579. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  48580. s.DeleteOnTermination = &v
  48581. return s
  48582. }
  48583. // SetStatus sets the Status field's value.
  48584. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  48585. s.Status = &v
  48586. return s
  48587. }
  48588. // SetVolumeId sets the VolumeId field's value.
  48589. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  48590. s.VolumeId = &v
  48591. return s
  48592. }
  48593. // Describes information used to set up an EBS volume specified in a block device
  48594. // mapping.
  48595. type EbsInstanceBlockDeviceSpecification struct {
  48596. _ struct{} `type:"structure"`
  48597. // Indicates whether the volume is deleted on instance termination.
  48598. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  48599. // The ID of the EBS volume.
  48600. VolumeId *string `locationName:"volumeId" type:"string"`
  48601. }
  48602. // String returns the string representation
  48603. func (s EbsInstanceBlockDeviceSpecification) String() string {
  48604. return awsutil.Prettify(s)
  48605. }
  48606. // GoString returns the string representation
  48607. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  48608. return s.String()
  48609. }
  48610. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  48611. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  48612. s.DeleteOnTermination = &v
  48613. return s
  48614. }
  48615. // SetVolumeId sets the VolumeId field's value.
  48616. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  48617. s.VolumeId = &v
  48618. return s
  48619. }
  48620. // Describes an egress-only internet gateway.
  48621. type EgressOnlyInternetGateway struct {
  48622. _ struct{} `type:"structure"`
  48623. // Information about the attachment of the egress-only internet gateway.
  48624. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  48625. // The ID of the egress-only internet gateway.
  48626. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  48627. }
  48628. // String returns the string representation
  48629. func (s EgressOnlyInternetGateway) String() string {
  48630. return awsutil.Prettify(s)
  48631. }
  48632. // GoString returns the string representation
  48633. func (s EgressOnlyInternetGateway) GoString() string {
  48634. return s.String()
  48635. }
  48636. // SetAttachments sets the Attachments field's value.
  48637. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  48638. s.Attachments = v
  48639. return s
  48640. }
  48641. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  48642. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  48643. s.EgressOnlyInternetGatewayId = &v
  48644. return s
  48645. }
  48646. // Describes the association between an instance and an Elastic Graphics accelerator.
  48647. type ElasticGpuAssociation struct {
  48648. _ struct{} `type:"structure"`
  48649. // The ID of the association.
  48650. ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
  48651. // The state of the association between the instance and the Elastic Graphics
  48652. // accelerator.
  48653. ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
  48654. // The time the Elastic Graphics accelerator was associated with the instance.
  48655. ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
  48656. // The ID of the Elastic Graphics accelerator.
  48657. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  48658. }
  48659. // String returns the string representation
  48660. func (s ElasticGpuAssociation) String() string {
  48661. return awsutil.Prettify(s)
  48662. }
  48663. // GoString returns the string representation
  48664. func (s ElasticGpuAssociation) GoString() string {
  48665. return s.String()
  48666. }
  48667. // SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
  48668. func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
  48669. s.ElasticGpuAssociationId = &v
  48670. return s
  48671. }
  48672. // SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
  48673. func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
  48674. s.ElasticGpuAssociationState = &v
  48675. return s
  48676. }
  48677. // SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
  48678. func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
  48679. s.ElasticGpuAssociationTime = &v
  48680. return s
  48681. }
  48682. // SetElasticGpuId sets the ElasticGpuId field's value.
  48683. func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
  48684. s.ElasticGpuId = &v
  48685. return s
  48686. }
  48687. // Describes the status of an Elastic Graphics accelerator.
  48688. type ElasticGpuHealth struct {
  48689. _ struct{} `type:"structure"`
  48690. // The health status.
  48691. Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
  48692. }
  48693. // String returns the string representation
  48694. func (s ElasticGpuHealth) String() string {
  48695. return awsutil.Prettify(s)
  48696. }
  48697. // GoString returns the string representation
  48698. func (s ElasticGpuHealth) GoString() string {
  48699. return s.String()
  48700. }
  48701. // SetStatus sets the Status field's value.
  48702. func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
  48703. s.Status = &v
  48704. return s
  48705. }
  48706. // A specification for an Elastic Graphics accelerator.
  48707. type ElasticGpuSpecification struct {
  48708. _ struct{} `type:"structure"`
  48709. // The type of Elastic Graphics accelerator.
  48710. //
  48711. // Type is a required field
  48712. Type *string `type:"string" required:"true"`
  48713. }
  48714. // String returns the string representation
  48715. func (s ElasticGpuSpecification) String() string {
  48716. return awsutil.Prettify(s)
  48717. }
  48718. // GoString returns the string representation
  48719. func (s ElasticGpuSpecification) GoString() string {
  48720. return s.String()
  48721. }
  48722. // Validate inspects the fields of the type to determine if they are valid.
  48723. func (s *ElasticGpuSpecification) Validate() error {
  48724. invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
  48725. if s.Type == nil {
  48726. invalidParams.Add(request.NewErrParamRequired("Type"))
  48727. }
  48728. if invalidParams.Len() > 0 {
  48729. return invalidParams
  48730. }
  48731. return nil
  48732. }
  48733. // SetType sets the Type field's value.
  48734. func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
  48735. s.Type = &v
  48736. return s
  48737. }
  48738. // Describes an elastic GPU.
  48739. type ElasticGpuSpecificationResponse struct {
  48740. _ struct{} `type:"structure"`
  48741. // The elastic GPU type.
  48742. Type *string `locationName:"type" type:"string"`
  48743. }
  48744. // String returns the string representation
  48745. func (s ElasticGpuSpecificationResponse) String() string {
  48746. return awsutil.Prettify(s)
  48747. }
  48748. // GoString returns the string representation
  48749. func (s ElasticGpuSpecificationResponse) GoString() string {
  48750. return s.String()
  48751. }
  48752. // SetType sets the Type field's value.
  48753. func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
  48754. s.Type = &v
  48755. return s
  48756. }
  48757. // Describes an Elastic Graphics accelerator.
  48758. type ElasticGpus struct {
  48759. _ struct{} `type:"structure"`
  48760. // The Availability Zone in the which the Elastic Graphics accelerator resides.
  48761. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48762. // The status of the Elastic Graphics accelerator.
  48763. ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
  48764. // The ID of the Elastic Graphics accelerator.
  48765. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  48766. // The state of the Elastic Graphics accelerator.
  48767. ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
  48768. // The type of Elastic Graphics accelerator.
  48769. ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
  48770. // The ID of the instance to which the Elastic Graphics accelerator is attached.
  48771. InstanceId *string `locationName:"instanceId" type:"string"`
  48772. }
  48773. // String returns the string representation
  48774. func (s ElasticGpus) String() string {
  48775. return awsutil.Prettify(s)
  48776. }
  48777. // GoString returns the string representation
  48778. func (s ElasticGpus) GoString() string {
  48779. return s.String()
  48780. }
  48781. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48782. func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
  48783. s.AvailabilityZone = &v
  48784. return s
  48785. }
  48786. // SetElasticGpuHealth sets the ElasticGpuHealth field's value.
  48787. func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
  48788. s.ElasticGpuHealth = v
  48789. return s
  48790. }
  48791. // SetElasticGpuId sets the ElasticGpuId field's value.
  48792. func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
  48793. s.ElasticGpuId = &v
  48794. return s
  48795. }
  48796. // SetElasticGpuState sets the ElasticGpuState field's value.
  48797. func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
  48798. s.ElasticGpuState = &v
  48799. return s
  48800. }
  48801. // SetElasticGpuType sets the ElasticGpuType field's value.
  48802. func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
  48803. s.ElasticGpuType = &v
  48804. return s
  48805. }
  48806. // SetInstanceId sets the InstanceId field's value.
  48807. func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
  48808. s.InstanceId = &v
  48809. return s
  48810. }
  48811. // Describes an elastic inference accelerator.
  48812. type ElasticInferenceAccelerator struct {
  48813. _ struct{} `type:"structure"`
  48814. // The type of elastic inference accelerator. The possible values are eia1.small,
  48815. // eia1.medium, and eia1.large.
  48816. //
  48817. // Type is a required field
  48818. Type *string `type:"string" required:"true"`
  48819. }
  48820. // String returns the string representation
  48821. func (s ElasticInferenceAccelerator) String() string {
  48822. return awsutil.Prettify(s)
  48823. }
  48824. // GoString returns the string representation
  48825. func (s ElasticInferenceAccelerator) GoString() string {
  48826. return s.String()
  48827. }
  48828. // Validate inspects the fields of the type to determine if they are valid.
  48829. func (s *ElasticInferenceAccelerator) Validate() error {
  48830. invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
  48831. if s.Type == nil {
  48832. invalidParams.Add(request.NewErrParamRequired("Type"))
  48833. }
  48834. if invalidParams.Len() > 0 {
  48835. return invalidParams
  48836. }
  48837. return nil
  48838. }
  48839. // SetType sets the Type field's value.
  48840. func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
  48841. s.Type = &v
  48842. return s
  48843. }
  48844. // Describes the association between an instance and an elastic inference accelerator.
  48845. type ElasticInferenceAcceleratorAssociation struct {
  48846. _ struct{} `type:"structure"`
  48847. // The Amazon Resource Name (ARN) of the elastic inference accelerator.
  48848. ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
  48849. // The ID of the association.
  48850. ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
  48851. // The state of the elastic inference accelerator.
  48852. ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
  48853. // The time at which the elastic inference accelerator is associated with an
  48854. // instance.
  48855. ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
  48856. }
  48857. // String returns the string representation
  48858. func (s ElasticInferenceAcceleratorAssociation) String() string {
  48859. return awsutil.Prettify(s)
  48860. }
  48861. // GoString returns the string representation
  48862. func (s ElasticInferenceAcceleratorAssociation) GoString() string {
  48863. return s.String()
  48864. }
  48865. // SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
  48866. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
  48867. s.ElasticInferenceAcceleratorArn = &v
  48868. return s
  48869. }
  48870. // SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
  48871. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
  48872. s.ElasticInferenceAcceleratorAssociationId = &v
  48873. return s
  48874. }
  48875. // SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
  48876. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
  48877. s.ElasticInferenceAcceleratorAssociationState = &v
  48878. return s
  48879. }
  48880. // SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
  48881. func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
  48882. s.ElasticInferenceAcceleratorAssociationTime = &v
  48883. return s
  48884. }
  48885. type EnableTransitGatewayRouteTablePropagationInput struct {
  48886. _ struct{} `type:"structure"`
  48887. // Checks whether you have the required permissions for the action, without
  48888. // actually making the request, and provides an error response. If you have
  48889. // the required permissions, the error response is DryRunOperation. Otherwise,
  48890. // it is UnauthorizedOperation.
  48891. DryRun *bool `type:"boolean"`
  48892. // The ID of the attachment.
  48893. //
  48894. // TransitGatewayAttachmentId is a required field
  48895. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  48896. // The ID of the propagation route table.
  48897. //
  48898. // TransitGatewayRouteTableId is a required field
  48899. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  48900. }
  48901. // String returns the string representation
  48902. func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
  48903. return awsutil.Prettify(s)
  48904. }
  48905. // GoString returns the string representation
  48906. func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
  48907. return s.String()
  48908. }
  48909. // Validate inspects the fields of the type to determine if they are valid.
  48910. func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
  48911. invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
  48912. if s.TransitGatewayAttachmentId == nil {
  48913. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  48914. }
  48915. if s.TransitGatewayRouteTableId == nil {
  48916. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  48917. }
  48918. if invalidParams.Len() > 0 {
  48919. return invalidParams
  48920. }
  48921. return nil
  48922. }
  48923. // SetDryRun sets the DryRun field's value.
  48924. func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
  48925. s.DryRun = &v
  48926. return s
  48927. }
  48928. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  48929. func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
  48930. s.TransitGatewayAttachmentId = &v
  48931. return s
  48932. }
  48933. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  48934. func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
  48935. s.TransitGatewayRouteTableId = &v
  48936. return s
  48937. }
  48938. type EnableTransitGatewayRouteTablePropagationOutput struct {
  48939. _ struct{} `type:"structure"`
  48940. // Information about route propagation.
  48941. Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
  48942. }
  48943. // String returns the string representation
  48944. func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
  48945. return awsutil.Prettify(s)
  48946. }
  48947. // GoString returns the string representation
  48948. func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
  48949. return s.String()
  48950. }
  48951. // SetPropagation sets the Propagation field's value.
  48952. func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
  48953. s.Propagation = v
  48954. return s
  48955. }
  48956. // Contains the parameters for EnableVgwRoutePropagation.
  48957. type EnableVgwRoutePropagationInput struct {
  48958. _ struct{} `type:"structure"`
  48959. // The ID of the virtual private gateway.
  48960. //
  48961. // GatewayId is a required field
  48962. GatewayId *string `type:"string" required:"true"`
  48963. // The ID of the route table.
  48964. //
  48965. // RouteTableId is a required field
  48966. RouteTableId *string `type:"string" required:"true"`
  48967. }
  48968. // String returns the string representation
  48969. func (s EnableVgwRoutePropagationInput) String() string {
  48970. return awsutil.Prettify(s)
  48971. }
  48972. // GoString returns the string representation
  48973. func (s EnableVgwRoutePropagationInput) GoString() string {
  48974. return s.String()
  48975. }
  48976. // Validate inspects the fields of the type to determine if they are valid.
  48977. func (s *EnableVgwRoutePropagationInput) Validate() error {
  48978. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  48979. if s.GatewayId == nil {
  48980. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  48981. }
  48982. if s.RouteTableId == nil {
  48983. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  48984. }
  48985. if invalidParams.Len() > 0 {
  48986. return invalidParams
  48987. }
  48988. return nil
  48989. }
  48990. // SetGatewayId sets the GatewayId field's value.
  48991. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  48992. s.GatewayId = &v
  48993. return s
  48994. }
  48995. // SetRouteTableId sets the RouteTableId field's value.
  48996. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  48997. s.RouteTableId = &v
  48998. return s
  48999. }
  49000. type EnableVgwRoutePropagationOutput struct {
  49001. _ struct{} `type:"structure"`
  49002. }
  49003. // String returns the string representation
  49004. func (s EnableVgwRoutePropagationOutput) String() string {
  49005. return awsutil.Prettify(s)
  49006. }
  49007. // GoString returns the string representation
  49008. func (s EnableVgwRoutePropagationOutput) GoString() string {
  49009. return s.String()
  49010. }
  49011. // Contains the parameters for EnableVolumeIO.
  49012. type EnableVolumeIOInput struct {
  49013. _ struct{} `type:"structure"`
  49014. // Checks whether you have the required permissions for the action, without
  49015. // actually making the request, and provides an error response. If you have
  49016. // the required permissions, the error response is DryRunOperation. Otherwise,
  49017. // it is UnauthorizedOperation.
  49018. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49019. // The ID of the volume.
  49020. //
  49021. // VolumeId is a required field
  49022. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  49023. }
  49024. // String returns the string representation
  49025. func (s EnableVolumeIOInput) String() string {
  49026. return awsutil.Prettify(s)
  49027. }
  49028. // GoString returns the string representation
  49029. func (s EnableVolumeIOInput) GoString() string {
  49030. return s.String()
  49031. }
  49032. // Validate inspects the fields of the type to determine if they are valid.
  49033. func (s *EnableVolumeIOInput) Validate() error {
  49034. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  49035. if s.VolumeId == nil {
  49036. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  49037. }
  49038. if invalidParams.Len() > 0 {
  49039. return invalidParams
  49040. }
  49041. return nil
  49042. }
  49043. // SetDryRun sets the DryRun field's value.
  49044. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  49045. s.DryRun = &v
  49046. return s
  49047. }
  49048. // SetVolumeId sets the VolumeId field's value.
  49049. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  49050. s.VolumeId = &v
  49051. return s
  49052. }
  49053. type EnableVolumeIOOutput struct {
  49054. _ struct{} `type:"structure"`
  49055. }
  49056. // String returns the string representation
  49057. func (s EnableVolumeIOOutput) String() string {
  49058. return awsutil.Prettify(s)
  49059. }
  49060. // GoString returns the string representation
  49061. func (s EnableVolumeIOOutput) GoString() string {
  49062. return s.String()
  49063. }
  49064. type EnableVpcClassicLinkDnsSupportInput struct {
  49065. _ struct{} `type:"structure"`
  49066. // The ID of the VPC.
  49067. VpcId *string `type:"string"`
  49068. }
  49069. // String returns the string representation
  49070. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  49071. return awsutil.Prettify(s)
  49072. }
  49073. // GoString returns the string representation
  49074. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  49075. return s.String()
  49076. }
  49077. // SetVpcId sets the VpcId field's value.
  49078. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  49079. s.VpcId = &v
  49080. return s
  49081. }
  49082. type EnableVpcClassicLinkDnsSupportOutput struct {
  49083. _ struct{} `type:"structure"`
  49084. // Returns true if the request succeeds; otherwise, it returns an error.
  49085. Return *bool `locationName:"return" type:"boolean"`
  49086. }
  49087. // String returns the string representation
  49088. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  49089. return awsutil.Prettify(s)
  49090. }
  49091. // GoString returns the string representation
  49092. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  49093. return s.String()
  49094. }
  49095. // SetReturn sets the Return field's value.
  49096. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  49097. s.Return = &v
  49098. return s
  49099. }
  49100. type EnableVpcClassicLinkInput struct {
  49101. _ struct{} `type:"structure"`
  49102. // Checks whether you have the required permissions for the action, without
  49103. // actually making the request, and provides an error response. If you have
  49104. // the required permissions, the error response is DryRunOperation. Otherwise,
  49105. // it is UnauthorizedOperation.
  49106. DryRun *bool `locationName:"dryRun" type:"boolean"`
  49107. // The ID of the VPC.
  49108. //
  49109. // VpcId is a required field
  49110. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  49111. }
  49112. // String returns the string representation
  49113. func (s EnableVpcClassicLinkInput) String() string {
  49114. return awsutil.Prettify(s)
  49115. }
  49116. // GoString returns the string representation
  49117. func (s EnableVpcClassicLinkInput) GoString() string {
  49118. return s.String()
  49119. }
  49120. // Validate inspects the fields of the type to determine if they are valid.
  49121. func (s *EnableVpcClassicLinkInput) Validate() error {
  49122. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  49123. if s.VpcId == nil {
  49124. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  49125. }
  49126. if invalidParams.Len() > 0 {
  49127. return invalidParams
  49128. }
  49129. return nil
  49130. }
  49131. // SetDryRun sets the DryRun field's value.
  49132. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  49133. s.DryRun = &v
  49134. return s
  49135. }
  49136. // SetVpcId sets the VpcId field's value.
  49137. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  49138. s.VpcId = &v
  49139. return s
  49140. }
  49141. type EnableVpcClassicLinkOutput struct {
  49142. _ struct{} `type:"structure"`
  49143. // Returns true if the request succeeds; otherwise, it returns an error.
  49144. Return *bool `locationName:"return" type:"boolean"`
  49145. }
  49146. // String returns the string representation
  49147. func (s EnableVpcClassicLinkOutput) String() string {
  49148. return awsutil.Prettify(s)
  49149. }
  49150. // GoString returns the string representation
  49151. func (s EnableVpcClassicLinkOutput) GoString() string {
  49152. return s.String()
  49153. }
  49154. // SetReturn sets the Return field's value.
  49155. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  49156. s.Return = &v
  49157. return s
  49158. }
  49159. // Describes a Spot Fleet event.
  49160. type EventInformation struct {
  49161. _ struct{} `type:"structure"`
  49162. // The description of the event.
  49163. EventDescription *string `locationName:"eventDescription" type:"string"`
  49164. // The event.
  49165. //
  49166. // The following are the error events:
  49167. //
  49168. // * iamFleetRoleInvalid - The Spot Fleet did not have the required permissions
  49169. // either to launch or terminate an instance.
  49170. //
  49171. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  49172. // For more information, see the description of the event.
  49173. //
  49174. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  49175. // of Spot Instances that you can launch.
  49176. //
  49177. // The following are the fleetRequestChange events:
  49178. //
  49179. // * active - The Spot Fleet has been validated and Amazon EC2 is attempting
  49180. // to maintain the target number of running Spot Instances.
  49181. //
  49182. // * cancelled - The Spot Fleet is canceled and has no running Spot Instances.
  49183. // The Spot Fleet will be deleted two days after its instances were terminated.
  49184. //
  49185. // * cancelled_running - The Spot Fleet is canceled and does not launch additional
  49186. // Spot Instances. Existing Spot Instances continue to run until they are
  49187. // interrupted or terminated.
  49188. //
  49189. // * cancelled_terminating - The Spot Fleet is canceled and its Spot Instances
  49190. // are terminating.
  49191. //
  49192. // * expired - The Spot Fleet request has expired. A subsequent event indicates
  49193. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  49194. // set.
  49195. //
  49196. // * modify_in_progress - A request to modify the Spot Fleet request was
  49197. // accepted and is in progress.
  49198. //
  49199. // * modify_successful - The Spot Fleet request was modified.
  49200. //
  49201. // * price_update - The price for a launch configuration was adjusted because
  49202. // it was too high. This change is permanent.
  49203. //
  49204. // * submitted - The Spot Fleet request is being evaluated and Amazon EC2
  49205. // is preparing to launch the target number of Spot Instances.
  49206. //
  49207. // The following are the instanceChange events:
  49208. //
  49209. // * launched - A request was fulfilled and a new instance was launched.
  49210. //
  49211. // * terminated - An instance was terminated by the user.
  49212. //
  49213. // The following are the Information events:
  49214. //
  49215. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  49216. // several attempts to launch instances have failed. For more information,
  49217. // see the description of the event.
  49218. //
  49219. // * launchSpecUnusable - The price in a launch specification is not valid
  49220. // because it is below the Spot price or the Spot price is above the On-Demand
  49221. // price.
  49222. //
  49223. // * fleetProgressHalted - The price in every launch specification is not
  49224. // valid. A launch specification might become valid if the Spot price changes.
  49225. EventSubType *string `locationName:"eventSubType" type:"string"`
  49226. // The ID of the instance. This information is available only for instanceChange
  49227. // events.
  49228. InstanceId *string `locationName:"instanceId" type:"string"`
  49229. }
  49230. // String returns the string representation
  49231. func (s EventInformation) String() string {
  49232. return awsutil.Prettify(s)
  49233. }
  49234. // GoString returns the string representation
  49235. func (s EventInformation) GoString() string {
  49236. return s.String()
  49237. }
  49238. // SetEventDescription sets the EventDescription field's value.
  49239. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  49240. s.EventDescription = &v
  49241. return s
  49242. }
  49243. // SetEventSubType sets the EventSubType field's value.
  49244. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  49245. s.EventSubType = &v
  49246. return s
  49247. }
  49248. // SetInstanceId sets the InstanceId field's value.
  49249. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  49250. s.InstanceId = &v
  49251. return s
  49252. }
  49253. type ExportClientVpnClientCertificateRevocationListInput struct {
  49254. _ struct{} `type:"structure"`
  49255. // The ID of the Client VPN endpoint.
  49256. //
  49257. // ClientVpnEndpointId is a required field
  49258. ClientVpnEndpointId *string `type:"string" required:"true"`
  49259. // Checks whether you have the required permissions for the action, without
  49260. // actually making the request, and provides an error response. If you have
  49261. // the required permissions, the error response is DryRunOperation. Otherwise,
  49262. // it is UnauthorizedOperation.
  49263. DryRun *bool `type:"boolean"`
  49264. }
  49265. // String returns the string representation
  49266. func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
  49267. return awsutil.Prettify(s)
  49268. }
  49269. // GoString returns the string representation
  49270. func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
  49271. return s.String()
  49272. }
  49273. // Validate inspects the fields of the type to determine if they are valid.
  49274. func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
  49275. invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
  49276. if s.ClientVpnEndpointId == nil {
  49277. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  49278. }
  49279. if invalidParams.Len() > 0 {
  49280. return invalidParams
  49281. }
  49282. return nil
  49283. }
  49284. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  49285. func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
  49286. s.ClientVpnEndpointId = &v
  49287. return s
  49288. }
  49289. // SetDryRun sets the DryRun field's value.
  49290. func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
  49291. s.DryRun = &v
  49292. return s
  49293. }
  49294. type ExportClientVpnClientCertificateRevocationListOutput struct {
  49295. _ struct{} `type:"structure"`
  49296. // Information about the client certificate revocation list.
  49297. CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
  49298. // The current state of the client certificate revocation list.
  49299. Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
  49300. }
  49301. // String returns the string representation
  49302. func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
  49303. return awsutil.Prettify(s)
  49304. }
  49305. // GoString returns the string representation
  49306. func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
  49307. return s.String()
  49308. }
  49309. // SetCertificateRevocationList sets the CertificateRevocationList field's value.
  49310. func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
  49311. s.CertificateRevocationList = &v
  49312. return s
  49313. }
  49314. // SetStatus sets the Status field's value.
  49315. func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
  49316. s.Status = v
  49317. return s
  49318. }
  49319. type ExportClientVpnClientConfigurationInput struct {
  49320. _ struct{} `type:"structure"`
  49321. // The ID of the Client VPN endpoint.
  49322. //
  49323. // ClientVpnEndpointId is a required field
  49324. ClientVpnEndpointId *string `type:"string" required:"true"`
  49325. // Checks whether you have the required permissions for the action, without
  49326. // actually making the request, and provides an error response. If you have
  49327. // the required permissions, the error response is DryRunOperation. Otherwise,
  49328. // it is UnauthorizedOperation.
  49329. DryRun *bool `type:"boolean"`
  49330. }
  49331. // String returns the string representation
  49332. func (s ExportClientVpnClientConfigurationInput) String() string {
  49333. return awsutil.Prettify(s)
  49334. }
  49335. // GoString returns the string representation
  49336. func (s ExportClientVpnClientConfigurationInput) GoString() string {
  49337. return s.String()
  49338. }
  49339. // Validate inspects the fields of the type to determine if they are valid.
  49340. func (s *ExportClientVpnClientConfigurationInput) Validate() error {
  49341. invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
  49342. if s.ClientVpnEndpointId == nil {
  49343. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  49344. }
  49345. if invalidParams.Len() > 0 {
  49346. return invalidParams
  49347. }
  49348. return nil
  49349. }
  49350. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  49351. func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
  49352. s.ClientVpnEndpointId = &v
  49353. return s
  49354. }
  49355. // SetDryRun sets the DryRun field's value.
  49356. func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
  49357. s.DryRun = &v
  49358. return s
  49359. }
  49360. type ExportClientVpnClientConfigurationOutput struct {
  49361. _ struct{} `type:"structure"`
  49362. // The contents of the Client VPN endpoint configuration file.
  49363. ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
  49364. }
  49365. // String returns the string representation
  49366. func (s ExportClientVpnClientConfigurationOutput) String() string {
  49367. return awsutil.Prettify(s)
  49368. }
  49369. // GoString returns the string representation
  49370. func (s ExportClientVpnClientConfigurationOutput) GoString() string {
  49371. return s.String()
  49372. }
  49373. // SetClientConfiguration sets the ClientConfiguration field's value.
  49374. func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
  49375. s.ClientConfiguration = &v
  49376. return s
  49377. }
  49378. // Describes an instance export task.
  49379. type ExportTask struct {
  49380. _ struct{} `type:"structure"`
  49381. // A description of the resource being exported.
  49382. Description *string `locationName:"description" type:"string"`
  49383. // The ID of the export task.
  49384. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  49385. // Information about the export task.
  49386. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  49387. // Information about the instance to export.
  49388. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  49389. // The state of the export task.
  49390. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  49391. // The status message related to the export task.
  49392. StatusMessage *string `locationName:"statusMessage" type:"string"`
  49393. }
  49394. // String returns the string representation
  49395. func (s ExportTask) String() string {
  49396. return awsutil.Prettify(s)
  49397. }
  49398. // GoString returns the string representation
  49399. func (s ExportTask) GoString() string {
  49400. return s.String()
  49401. }
  49402. // SetDescription sets the Description field's value.
  49403. func (s *ExportTask) SetDescription(v string) *ExportTask {
  49404. s.Description = &v
  49405. return s
  49406. }
  49407. // SetExportTaskId sets the ExportTaskId field's value.
  49408. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  49409. s.ExportTaskId = &v
  49410. return s
  49411. }
  49412. // SetExportToS3Task sets the ExportToS3Task field's value.
  49413. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  49414. s.ExportToS3Task = v
  49415. return s
  49416. }
  49417. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  49418. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  49419. s.InstanceExportDetails = v
  49420. return s
  49421. }
  49422. // SetState sets the State field's value.
  49423. func (s *ExportTask) SetState(v string) *ExportTask {
  49424. s.State = &v
  49425. return s
  49426. }
  49427. // SetStatusMessage sets the StatusMessage field's value.
  49428. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  49429. s.StatusMessage = &v
  49430. return s
  49431. }
  49432. // Describes the format and location for an instance export task.
  49433. type ExportToS3Task struct {
  49434. _ struct{} `type:"structure"`
  49435. // The container format used to combine disk images with metadata (such as OVF).
  49436. // If absent, only the disk image is exported.
  49437. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  49438. // The format for the exported image.
  49439. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  49440. // The S3 bucket for the destination image. The destination bucket must exist
  49441. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  49442. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  49443. // The encryption key for your S3 bucket.
  49444. S3Key *string `locationName:"s3Key" type:"string"`
  49445. }
  49446. // String returns the string representation
  49447. func (s ExportToS3Task) String() string {
  49448. return awsutil.Prettify(s)
  49449. }
  49450. // GoString returns the string representation
  49451. func (s ExportToS3Task) GoString() string {
  49452. return s.String()
  49453. }
  49454. // SetContainerFormat sets the ContainerFormat field's value.
  49455. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  49456. s.ContainerFormat = &v
  49457. return s
  49458. }
  49459. // SetDiskImageFormat sets the DiskImageFormat field's value.
  49460. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  49461. s.DiskImageFormat = &v
  49462. return s
  49463. }
  49464. // SetS3Bucket sets the S3Bucket field's value.
  49465. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  49466. s.S3Bucket = &v
  49467. return s
  49468. }
  49469. // SetS3Key sets the S3Key field's value.
  49470. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  49471. s.S3Key = &v
  49472. return s
  49473. }
  49474. // Describes an instance export task.
  49475. type ExportToS3TaskSpecification struct {
  49476. _ struct{} `type:"structure"`
  49477. // The container format used to combine disk images with metadata (such as OVF).
  49478. // If absent, only the disk image is exported.
  49479. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  49480. // The format for the exported image.
  49481. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  49482. // The S3 bucket for the destination image. The destination bucket must exist
  49483. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  49484. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  49485. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  49486. // + exportTaskId + '.' + diskImageFormat.
  49487. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  49488. }
  49489. // String returns the string representation
  49490. func (s ExportToS3TaskSpecification) String() string {
  49491. return awsutil.Prettify(s)
  49492. }
  49493. // GoString returns the string representation
  49494. func (s ExportToS3TaskSpecification) GoString() string {
  49495. return s.String()
  49496. }
  49497. // SetContainerFormat sets the ContainerFormat field's value.
  49498. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  49499. s.ContainerFormat = &v
  49500. return s
  49501. }
  49502. // SetDiskImageFormat sets the DiskImageFormat field's value.
  49503. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  49504. s.DiskImageFormat = &v
  49505. return s
  49506. }
  49507. // SetS3Bucket sets the S3Bucket field's value.
  49508. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  49509. s.S3Bucket = &v
  49510. return s
  49511. }
  49512. // SetS3Prefix sets the S3Prefix field's value.
  49513. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  49514. s.S3Prefix = &v
  49515. return s
  49516. }
  49517. type ExportTransitGatewayRoutesInput struct {
  49518. _ struct{} `type:"structure"`
  49519. // Checks whether you have the required permissions for the action, without
  49520. // actually making the request, and provides an error response. If you have
  49521. // the required permissions, the error response is DryRunOperation. Otherwise,
  49522. // it is UnauthorizedOperation.
  49523. DryRun *bool `type:"boolean"`
  49524. // One or more filters. The possible values are:
  49525. //
  49526. // * attachment.transit-gateway-attachment-id- The id of the transit gateway
  49527. // attachment.
  49528. //
  49529. // * attachment.resource-id - The resource id of the transit gateway attachment.
  49530. //
  49531. // * route-search.exact-match - The exact match of the specified filter.
  49532. //
  49533. // * route-search.longest-prefix-match - The longest prefix that matches
  49534. // the route.
  49535. //
  49536. // * route-search.subnet-of-match - The routes with a subnet that match the
  49537. // specified CIDR filter.
  49538. //
  49539. // * route-search.supernet-of-match - The routes with a CIDR that encompass
  49540. // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
  49541. // routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
  49542. // then the result returns 10.0.1.0/29.
  49543. //
  49544. // * state - The state of the attachment (available | deleted | deleting
  49545. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  49546. // | rejecting).
  49547. //
  49548. // * transit-gateway-route-destination-cidr-block - The CIDR range.
  49549. //
  49550. // * type - The type of roue (active | blackhole).
  49551. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  49552. // The name of the S3 bucket.
  49553. //
  49554. // S3Bucket is a required field
  49555. S3Bucket *string `type:"string" required:"true"`
  49556. // The ID of the route table.
  49557. //
  49558. // TransitGatewayRouteTableId is a required field
  49559. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  49560. }
  49561. // String returns the string representation
  49562. func (s ExportTransitGatewayRoutesInput) String() string {
  49563. return awsutil.Prettify(s)
  49564. }
  49565. // GoString returns the string representation
  49566. func (s ExportTransitGatewayRoutesInput) GoString() string {
  49567. return s.String()
  49568. }
  49569. // Validate inspects the fields of the type to determine if they are valid.
  49570. func (s *ExportTransitGatewayRoutesInput) Validate() error {
  49571. invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
  49572. if s.S3Bucket == nil {
  49573. invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
  49574. }
  49575. if s.TransitGatewayRouteTableId == nil {
  49576. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  49577. }
  49578. if invalidParams.Len() > 0 {
  49579. return invalidParams
  49580. }
  49581. return nil
  49582. }
  49583. // SetDryRun sets the DryRun field's value.
  49584. func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
  49585. s.DryRun = &v
  49586. return s
  49587. }
  49588. // SetFilters sets the Filters field's value.
  49589. func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
  49590. s.Filters = v
  49591. return s
  49592. }
  49593. // SetS3Bucket sets the S3Bucket field's value.
  49594. func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
  49595. s.S3Bucket = &v
  49596. return s
  49597. }
  49598. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  49599. func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
  49600. s.TransitGatewayRouteTableId = &v
  49601. return s
  49602. }
  49603. type ExportTransitGatewayRoutesOutput struct {
  49604. _ struct{} `type:"structure"`
  49605. // The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
  49606. S3Location *string `locationName:"s3Location" type:"string"`
  49607. }
  49608. // String returns the string representation
  49609. func (s ExportTransitGatewayRoutesOutput) String() string {
  49610. return awsutil.Prettify(s)
  49611. }
  49612. // GoString returns the string representation
  49613. func (s ExportTransitGatewayRoutesOutput) GoString() string {
  49614. return s.String()
  49615. }
  49616. // SetS3Location sets the S3Location field's value.
  49617. func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
  49618. s.S3Location = &v
  49619. return s
  49620. }
  49621. // A filter name and value pair that is used to return a more specific list
  49622. // of results from a describe operation. Filters can be used to match a set
  49623. // of resources by specific criteria, such as tags, attributes, or IDs. The
  49624. // filters supported by a describe operation are documented with the describe
  49625. // operation. For example:
  49626. //
  49627. // * DescribeAvailabilityZones
  49628. //
  49629. // * DescribeImages
  49630. //
  49631. // * DescribeInstances
  49632. //
  49633. // * DescribeKeyPairs
  49634. //
  49635. // * DescribeSecurityGroups
  49636. //
  49637. // * DescribeSnapshots
  49638. //
  49639. // * DescribeSubnets
  49640. //
  49641. // * DescribeTags
  49642. //
  49643. // * DescribeVolumes
  49644. //
  49645. // * DescribeVpcs
  49646. type Filter struct {
  49647. _ struct{} `type:"structure"`
  49648. // The name of the filter. Filter names are case-sensitive.
  49649. Name *string `type:"string"`
  49650. // One or more filter values. Filter values are case-sensitive.
  49651. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  49652. }
  49653. // String returns the string representation
  49654. func (s Filter) String() string {
  49655. return awsutil.Prettify(s)
  49656. }
  49657. // GoString returns the string representation
  49658. func (s Filter) GoString() string {
  49659. return s.String()
  49660. }
  49661. // SetName sets the Name field's value.
  49662. func (s *Filter) SetName(v string) *Filter {
  49663. s.Name = &v
  49664. return s
  49665. }
  49666. // SetValues sets the Values field's value.
  49667. func (s *Filter) SetValues(v []*string) *Filter {
  49668. s.Values = v
  49669. return s
  49670. }
  49671. // Describes an EC2 Fleet.
  49672. type FleetData struct {
  49673. _ struct{} `type:"structure"`
  49674. // The progress of the EC2 Fleet. If there is an error, the status is error.
  49675. // After all requests are placed, the status is pending_fulfillment. If the
  49676. // size of the EC2 Fleet is equal to or greater than its target capacity, the
  49677. // status is fulfilled. If the size of the EC2 Fleet is decreased, the status
  49678. // is pending_termination while instances are terminating.
  49679. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
  49680. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  49681. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  49682. //
  49683. // Constraints: Maximum 64 ASCII characters
  49684. ClientToken *string `locationName:"clientToken" type:"string"`
  49685. // The creation date and time of the EC2 Fleet.
  49686. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  49687. // Information about the instances that could not be launched by the fleet.
  49688. // Valid only when Type is set to instant.
  49689. Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
  49690. // Indicates whether running instances should be terminated if the target capacity
  49691. // of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
  49692. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  49693. // The ID of the EC2 Fleet.
  49694. FleetId *string `locationName:"fleetId" type:"string"`
  49695. // The state of the EC2 Fleet.
  49696. FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
  49697. // The number of units fulfilled by this request compared to the set target
  49698. // capacity.
  49699. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  49700. // The number of units fulfilled by this request compared to the set target
  49701. // On-Demand capacity.
  49702. FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
  49703. // Information about the instances that were launched by the fleet. Valid only
  49704. // when Type is set to instant.
  49705. Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
  49706. // The launch template and overrides.
  49707. LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  49708. // The allocation strategy of On-Demand Instances in an EC2 Fleet.
  49709. OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
  49710. // Indicates whether EC2 Fleet should replace unhealthy instances.
  49711. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  49712. // The configuration of Spot Instances in an EC2 Fleet.
  49713. SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
  49714. // The tags for an EC2 Fleet resource.
  49715. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49716. // The number of units to request. You can choose to set the target capacity
  49717. // in terms of instances or a performance characteristic that is important to
  49718. // your application workload, such as vCPUs, memory, or I/O. If the request
  49719. // type is maintain, you can specify a target capacity of 0 and add capacity
  49720. // later.
  49721. TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
  49722. // Indicates whether running instances should be terminated when the EC2 Fleet
  49723. // expires.
  49724. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  49725. // The type of request. Indicates whether the EC2 Fleet only requests the target
  49726. // capacity, or also attempts to maintain it. If you request a certain target
  49727. // capacity, EC2 Fleet only places the required requests; it does not attempt
  49728. // to replenish instances if capacity is diminished, and does not submit requests
  49729. // in alternative capacity pools if capacity is unavailable. To maintain a certain
  49730. // target capacity, EC2 Fleet places the required requests to meet this target
  49731. // capacity. It also automatically replenishes any interrupted Spot Instances.
  49732. // Default: maintain.
  49733. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  49734. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  49735. // The default is to start fulfilling the request immediately.
  49736. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  49737. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  49738. // At this point, no new instance requests are placed or able to fulfill the
  49739. // request. The default end date is 7 days from the current date.
  49740. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  49741. }
  49742. // String returns the string representation
  49743. func (s FleetData) String() string {
  49744. return awsutil.Prettify(s)
  49745. }
  49746. // GoString returns the string representation
  49747. func (s FleetData) GoString() string {
  49748. return s.String()
  49749. }
  49750. // SetActivityStatus sets the ActivityStatus field's value.
  49751. func (s *FleetData) SetActivityStatus(v string) *FleetData {
  49752. s.ActivityStatus = &v
  49753. return s
  49754. }
  49755. // SetClientToken sets the ClientToken field's value.
  49756. func (s *FleetData) SetClientToken(v string) *FleetData {
  49757. s.ClientToken = &v
  49758. return s
  49759. }
  49760. // SetCreateTime sets the CreateTime field's value.
  49761. func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
  49762. s.CreateTime = &v
  49763. return s
  49764. }
  49765. // SetErrors sets the Errors field's value.
  49766. func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
  49767. s.Errors = v
  49768. return s
  49769. }
  49770. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  49771. func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
  49772. s.ExcessCapacityTerminationPolicy = &v
  49773. return s
  49774. }
  49775. // SetFleetId sets the FleetId field's value.
  49776. func (s *FleetData) SetFleetId(v string) *FleetData {
  49777. s.FleetId = &v
  49778. return s
  49779. }
  49780. // SetFleetState sets the FleetState field's value.
  49781. func (s *FleetData) SetFleetState(v string) *FleetData {
  49782. s.FleetState = &v
  49783. return s
  49784. }
  49785. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  49786. func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
  49787. s.FulfilledCapacity = &v
  49788. return s
  49789. }
  49790. // SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
  49791. func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
  49792. s.FulfilledOnDemandCapacity = &v
  49793. return s
  49794. }
  49795. // SetInstances sets the Instances field's value.
  49796. func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
  49797. s.Instances = v
  49798. return s
  49799. }
  49800. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  49801. func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
  49802. s.LaunchTemplateConfigs = v
  49803. return s
  49804. }
  49805. // SetOnDemandOptions sets the OnDemandOptions field's value.
  49806. func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
  49807. s.OnDemandOptions = v
  49808. return s
  49809. }
  49810. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  49811. func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
  49812. s.ReplaceUnhealthyInstances = &v
  49813. return s
  49814. }
  49815. // SetSpotOptions sets the SpotOptions field's value.
  49816. func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
  49817. s.SpotOptions = v
  49818. return s
  49819. }
  49820. // SetTags sets the Tags field's value.
  49821. func (s *FleetData) SetTags(v []*Tag) *FleetData {
  49822. s.Tags = v
  49823. return s
  49824. }
  49825. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  49826. func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
  49827. s.TargetCapacitySpecification = v
  49828. return s
  49829. }
  49830. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  49831. func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
  49832. s.TerminateInstancesWithExpiration = &v
  49833. return s
  49834. }
  49835. // SetType sets the Type field's value.
  49836. func (s *FleetData) SetType(v string) *FleetData {
  49837. s.Type = &v
  49838. return s
  49839. }
  49840. // SetValidFrom sets the ValidFrom field's value.
  49841. func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
  49842. s.ValidFrom = &v
  49843. return s
  49844. }
  49845. // SetValidUntil sets the ValidUntil field's value.
  49846. func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
  49847. s.ValidUntil = &v
  49848. return s
  49849. }
  49850. // Describes a launch template and overrides.
  49851. type FleetLaunchTemplateConfig struct {
  49852. _ struct{} `type:"structure"`
  49853. // The launch template.
  49854. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  49855. // Any parameters that you specify override the same parameters in the launch
  49856. // template.
  49857. Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  49858. }
  49859. // String returns the string representation
  49860. func (s FleetLaunchTemplateConfig) String() string {
  49861. return awsutil.Prettify(s)
  49862. }
  49863. // GoString returns the string representation
  49864. func (s FleetLaunchTemplateConfig) GoString() string {
  49865. return s.String()
  49866. }
  49867. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  49868. func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
  49869. s.LaunchTemplateSpecification = v
  49870. return s
  49871. }
  49872. // SetOverrides sets the Overrides field's value.
  49873. func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
  49874. s.Overrides = v
  49875. return s
  49876. }
  49877. // Describes a launch template and overrides.
  49878. type FleetLaunchTemplateConfigRequest struct {
  49879. _ struct{} `type:"structure"`
  49880. // The launch template to use. You must specify either the launch template ID
  49881. // or launch template name in the request.
  49882. LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
  49883. // Any parameters that you specify override the same parameters in the launch
  49884. // template.
  49885. Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
  49886. }
  49887. // String returns the string representation
  49888. func (s FleetLaunchTemplateConfigRequest) String() string {
  49889. return awsutil.Prettify(s)
  49890. }
  49891. // GoString returns the string representation
  49892. func (s FleetLaunchTemplateConfigRequest) GoString() string {
  49893. return s.String()
  49894. }
  49895. // Validate inspects the fields of the type to determine if they are valid.
  49896. func (s *FleetLaunchTemplateConfigRequest) Validate() error {
  49897. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
  49898. if s.LaunchTemplateSpecification != nil {
  49899. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  49900. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  49901. }
  49902. }
  49903. if invalidParams.Len() > 0 {
  49904. return invalidParams
  49905. }
  49906. return nil
  49907. }
  49908. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  49909. func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
  49910. s.LaunchTemplateSpecification = v
  49911. return s
  49912. }
  49913. // SetOverrides sets the Overrides field's value.
  49914. func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
  49915. s.Overrides = v
  49916. return s
  49917. }
  49918. // Describes overrides for a launch template.
  49919. type FleetLaunchTemplateOverrides struct {
  49920. _ struct{} `type:"structure"`
  49921. // The Availability Zone in which to launch the instances.
  49922. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  49923. // The instance type.
  49924. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  49925. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  49926. MaxPrice *string `locationName:"maxPrice" type:"string"`
  49927. // The location where the instance launched, if applicable.
  49928. Placement *PlacementResponse `locationName:"placement" type:"structure"`
  49929. // The priority for the launch template override. If AllocationStrategy is set
  49930. // to prioritized, EC2 Fleet uses priority to determine which launch template
  49931. // override to use first in fulfilling On-Demand capacity. The highest priority
  49932. // is launched first. Valid values are whole numbers starting at 0. The lower
  49933. // the number, the higher the priority. If no number is set, the override has
  49934. // the lowest priority.
  49935. Priority *float64 `locationName:"priority" type:"double"`
  49936. // The ID of the subnet in which to launch the instances.
  49937. SubnetId *string `locationName:"subnetId" type:"string"`
  49938. // The number of units provided by the specified instance type.
  49939. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  49940. }
  49941. // String returns the string representation
  49942. func (s FleetLaunchTemplateOverrides) String() string {
  49943. return awsutil.Prettify(s)
  49944. }
  49945. // GoString returns the string representation
  49946. func (s FleetLaunchTemplateOverrides) GoString() string {
  49947. return s.String()
  49948. }
  49949. // SetAvailabilityZone sets the AvailabilityZone field's value.
  49950. func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
  49951. s.AvailabilityZone = &v
  49952. return s
  49953. }
  49954. // SetInstanceType sets the InstanceType field's value.
  49955. func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
  49956. s.InstanceType = &v
  49957. return s
  49958. }
  49959. // SetMaxPrice sets the MaxPrice field's value.
  49960. func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
  49961. s.MaxPrice = &v
  49962. return s
  49963. }
  49964. // SetPlacement sets the Placement field's value.
  49965. func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
  49966. s.Placement = v
  49967. return s
  49968. }
  49969. // SetPriority sets the Priority field's value.
  49970. func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
  49971. s.Priority = &v
  49972. return s
  49973. }
  49974. // SetSubnetId sets the SubnetId field's value.
  49975. func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
  49976. s.SubnetId = &v
  49977. return s
  49978. }
  49979. // SetWeightedCapacity sets the WeightedCapacity field's value.
  49980. func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
  49981. s.WeightedCapacity = &v
  49982. return s
  49983. }
  49984. // Describes overrides for a launch template.
  49985. type FleetLaunchTemplateOverridesRequest struct {
  49986. _ struct{} `type:"structure"`
  49987. // The Availability Zone in which to launch the instances.
  49988. AvailabilityZone *string `type:"string"`
  49989. // The instance type.
  49990. InstanceType *string `type:"string" enum:"InstanceType"`
  49991. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  49992. MaxPrice *string `type:"string"`
  49993. // The location where the instance launched, if applicable.
  49994. Placement *Placement `type:"structure"`
  49995. // The priority for the launch template override. If AllocationStrategy is set
  49996. // to prioritized, EC2 Fleet uses priority to determine which launch template
  49997. // override to use first in fulfilling On-Demand capacity. The highest priority
  49998. // is launched first. Valid values are whole numbers starting at 0. The lower
  49999. // the number, the higher the priority. If no number is set, the launch template
  50000. // override has the lowest priority.
  50001. Priority *float64 `type:"double"`
  50002. // The ID of the subnet in which to launch the instances.
  50003. SubnetId *string `type:"string"`
  50004. // The number of units provided by the specified instance type.
  50005. WeightedCapacity *float64 `type:"double"`
  50006. }
  50007. // String returns the string representation
  50008. func (s FleetLaunchTemplateOverridesRequest) String() string {
  50009. return awsutil.Prettify(s)
  50010. }
  50011. // GoString returns the string representation
  50012. func (s FleetLaunchTemplateOverridesRequest) GoString() string {
  50013. return s.String()
  50014. }
  50015. // SetAvailabilityZone sets the AvailabilityZone field's value.
  50016. func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
  50017. s.AvailabilityZone = &v
  50018. return s
  50019. }
  50020. // SetInstanceType sets the InstanceType field's value.
  50021. func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
  50022. s.InstanceType = &v
  50023. return s
  50024. }
  50025. // SetMaxPrice sets the MaxPrice field's value.
  50026. func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
  50027. s.MaxPrice = &v
  50028. return s
  50029. }
  50030. // SetPlacement sets the Placement field's value.
  50031. func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
  50032. s.Placement = v
  50033. return s
  50034. }
  50035. // SetPriority sets the Priority field's value.
  50036. func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
  50037. s.Priority = &v
  50038. return s
  50039. }
  50040. // SetSubnetId sets the SubnetId field's value.
  50041. func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
  50042. s.SubnetId = &v
  50043. return s
  50044. }
  50045. // SetWeightedCapacity sets the WeightedCapacity field's value.
  50046. func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
  50047. s.WeightedCapacity = &v
  50048. return s
  50049. }
  50050. // Describes a launch template.
  50051. type FleetLaunchTemplateSpecification struct {
  50052. _ struct{} `type:"structure"`
  50053. // The ID of the launch template. You must specify either a template ID or a
  50054. // template name.
  50055. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  50056. // The name of the launch template. You must specify either a template name
  50057. // or a template ID.
  50058. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  50059. // The version number of the launch template. You must specify a version number.
  50060. Version *string `locationName:"version" type:"string"`
  50061. }
  50062. // String returns the string representation
  50063. func (s FleetLaunchTemplateSpecification) String() string {
  50064. return awsutil.Prettify(s)
  50065. }
  50066. // GoString returns the string representation
  50067. func (s FleetLaunchTemplateSpecification) GoString() string {
  50068. return s.String()
  50069. }
  50070. // Validate inspects the fields of the type to determine if they are valid.
  50071. func (s *FleetLaunchTemplateSpecification) Validate() error {
  50072. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
  50073. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  50074. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  50075. }
  50076. if invalidParams.Len() > 0 {
  50077. return invalidParams
  50078. }
  50079. return nil
  50080. }
  50081. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  50082. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
  50083. s.LaunchTemplateId = &v
  50084. return s
  50085. }
  50086. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  50087. func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
  50088. s.LaunchTemplateName = &v
  50089. return s
  50090. }
  50091. // SetVersion sets the Version field's value.
  50092. func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
  50093. s.Version = &v
  50094. return s
  50095. }
  50096. // The launch template to use. You must specify either the launch template ID
  50097. // or launch template name in the request.
  50098. type FleetLaunchTemplateSpecificationRequest struct {
  50099. _ struct{} `type:"structure"`
  50100. // The ID of the launch template.
  50101. LaunchTemplateId *string `type:"string"`
  50102. // The name of the launch template.
  50103. LaunchTemplateName *string `min:"3" type:"string"`
  50104. // The version number of the launch template.
  50105. Version *string `type:"string"`
  50106. }
  50107. // String returns the string representation
  50108. func (s FleetLaunchTemplateSpecificationRequest) String() string {
  50109. return awsutil.Prettify(s)
  50110. }
  50111. // GoString returns the string representation
  50112. func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
  50113. return s.String()
  50114. }
  50115. // Validate inspects the fields of the type to determine if they are valid.
  50116. func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
  50117. invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
  50118. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  50119. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  50120. }
  50121. if invalidParams.Len() > 0 {
  50122. return invalidParams
  50123. }
  50124. return nil
  50125. }
  50126. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  50127. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
  50128. s.LaunchTemplateId = &v
  50129. return s
  50130. }
  50131. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  50132. func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
  50133. s.LaunchTemplateName = &v
  50134. return s
  50135. }
  50136. // SetVersion sets the Version field's value.
  50137. func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
  50138. s.Version = &v
  50139. return s
  50140. }
  50141. // Describes a flow log.
  50142. type FlowLog struct {
  50143. _ struct{} `type:"structure"`
  50144. // The date and time the flow log was created.
  50145. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  50146. // Information about the error that occurred. Rate limited indicates that CloudWatch
  50147. // Logs throttling has been applied for one or more network interfaces, or that
  50148. // you've reached the limit on the number of log groups that you can create.
  50149. // Access error indicates that the IAM role associated with the flow log does
  50150. // not have sufficient permissions to publish to CloudWatch Logs. Unknown error
  50151. // indicates an internal error.
  50152. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  50153. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  50154. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  50155. // The status of the logs delivery (SUCCESS | FAILED).
  50156. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  50157. // The flow log ID.
  50158. FlowLogId *string `locationName:"flowLogId" type:"string"`
  50159. // The status of the flow log (ACTIVE).
  50160. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  50161. // Specifies the destination to which the flow log data is published. Flow log
  50162. // data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
  50163. // If the flow log publishes to CloudWatch Logs, this element indicates the
  50164. // Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
  50165. // data is published. If the flow log publishes to Amazon S3, this element indicates
  50166. // the ARN of the Amazon S3 bucket to which the data is published.
  50167. LogDestination *string `locationName:"logDestination" type:"string"`
  50168. // Specifies the type of destination to which the flow log data is published.
  50169. // Flow log data can be published to CloudWatch Logs or Amazon S3.
  50170. LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
  50171. // The name of the flow log group.
  50172. LogGroupName *string `locationName:"logGroupName" type:"string"`
  50173. // The ID of the resource on which the flow log was created.
  50174. ResourceId *string `locationName:"resourceId" type:"string"`
  50175. // The type of traffic captured for the flow log.
  50176. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  50177. }
  50178. // String returns the string representation
  50179. func (s FlowLog) String() string {
  50180. return awsutil.Prettify(s)
  50181. }
  50182. // GoString returns the string representation
  50183. func (s FlowLog) GoString() string {
  50184. return s.String()
  50185. }
  50186. // SetCreationTime sets the CreationTime field's value.
  50187. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  50188. s.CreationTime = &v
  50189. return s
  50190. }
  50191. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  50192. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  50193. s.DeliverLogsErrorMessage = &v
  50194. return s
  50195. }
  50196. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  50197. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  50198. s.DeliverLogsPermissionArn = &v
  50199. return s
  50200. }
  50201. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  50202. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  50203. s.DeliverLogsStatus = &v
  50204. return s
  50205. }
  50206. // SetFlowLogId sets the FlowLogId field's value.
  50207. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  50208. s.FlowLogId = &v
  50209. return s
  50210. }
  50211. // SetFlowLogStatus sets the FlowLogStatus field's value.
  50212. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  50213. s.FlowLogStatus = &v
  50214. return s
  50215. }
  50216. // SetLogDestination sets the LogDestination field's value.
  50217. func (s *FlowLog) SetLogDestination(v string) *FlowLog {
  50218. s.LogDestination = &v
  50219. return s
  50220. }
  50221. // SetLogDestinationType sets the LogDestinationType field's value.
  50222. func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
  50223. s.LogDestinationType = &v
  50224. return s
  50225. }
  50226. // SetLogGroupName sets the LogGroupName field's value.
  50227. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  50228. s.LogGroupName = &v
  50229. return s
  50230. }
  50231. // SetResourceId sets the ResourceId field's value.
  50232. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  50233. s.ResourceId = &v
  50234. return s
  50235. }
  50236. // SetTrafficType sets the TrafficType field's value.
  50237. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  50238. s.TrafficType = &v
  50239. return s
  50240. }
  50241. // Describes an Amazon FPGA image (AFI).
  50242. type FpgaImage struct {
  50243. _ struct{} `type:"structure"`
  50244. // The date and time the AFI was created.
  50245. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  50246. // Indicates whether data retention support is enabled for the AFI.
  50247. DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
  50248. // The description of the AFI.
  50249. Description *string `locationName:"description" type:"string"`
  50250. // The global FPGA image identifier (AGFI ID).
  50251. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  50252. // The FPGA image identifier (AFI ID).
  50253. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  50254. // The name of the AFI.
  50255. Name *string `locationName:"name" type:"string"`
  50256. // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
  50257. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  50258. // The AWS account ID of the AFI owner.
  50259. OwnerId *string `locationName:"ownerId" type:"string"`
  50260. // Information about the PCI bus.
  50261. PciId *PciId `locationName:"pciId" type:"structure"`
  50262. // The product codes for the AFI.
  50263. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  50264. // Indicates whether the AFI is public.
  50265. Public *bool `locationName:"public" type:"boolean"`
  50266. // The version of the AWS Shell that was used to create the bitstream.
  50267. ShellVersion *string `locationName:"shellVersion" type:"string"`
  50268. // Information about the state of the AFI.
  50269. State *FpgaImageState `locationName:"state" type:"structure"`
  50270. // Any tags assigned to the AFI.
  50271. Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
  50272. // The time of the most recent update to the AFI.
  50273. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  50274. }
  50275. // String returns the string representation
  50276. func (s FpgaImage) String() string {
  50277. return awsutil.Prettify(s)
  50278. }
  50279. // GoString returns the string representation
  50280. func (s FpgaImage) GoString() string {
  50281. return s.String()
  50282. }
  50283. // SetCreateTime sets the CreateTime field's value.
  50284. func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
  50285. s.CreateTime = &v
  50286. return s
  50287. }
  50288. // SetDataRetentionSupport sets the DataRetentionSupport field's value.
  50289. func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
  50290. s.DataRetentionSupport = &v
  50291. return s
  50292. }
  50293. // SetDescription sets the Description field's value.
  50294. func (s *FpgaImage) SetDescription(v string) *FpgaImage {
  50295. s.Description = &v
  50296. return s
  50297. }
  50298. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  50299. func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
  50300. s.FpgaImageGlobalId = &v
  50301. return s
  50302. }
  50303. // SetFpgaImageId sets the FpgaImageId field's value.
  50304. func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
  50305. s.FpgaImageId = &v
  50306. return s
  50307. }
  50308. // SetName sets the Name field's value.
  50309. func (s *FpgaImage) SetName(v string) *FpgaImage {
  50310. s.Name = &v
  50311. return s
  50312. }
  50313. // SetOwnerAlias sets the OwnerAlias field's value.
  50314. func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
  50315. s.OwnerAlias = &v
  50316. return s
  50317. }
  50318. // SetOwnerId sets the OwnerId field's value.
  50319. func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
  50320. s.OwnerId = &v
  50321. return s
  50322. }
  50323. // SetPciId sets the PciId field's value.
  50324. func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
  50325. s.PciId = v
  50326. return s
  50327. }
  50328. // SetProductCodes sets the ProductCodes field's value.
  50329. func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
  50330. s.ProductCodes = v
  50331. return s
  50332. }
  50333. // SetPublic sets the Public field's value.
  50334. func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
  50335. s.Public = &v
  50336. return s
  50337. }
  50338. // SetShellVersion sets the ShellVersion field's value.
  50339. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
  50340. s.ShellVersion = &v
  50341. return s
  50342. }
  50343. // SetState sets the State field's value.
  50344. func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
  50345. s.State = v
  50346. return s
  50347. }
  50348. // SetTags sets the Tags field's value.
  50349. func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
  50350. s.Tags = v
  50351. return s
  50352. }
  50353. // SetUpdateTime sets the UpdateTime field's value.
  50354. func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
  50355. s.UpdateTime = &v
  50356. return s
  50357. }
  50358. // Describes an Amazon FPGA image (AFI) attribute.
  50359. type FpgaImageAttribute struct {
  50360. _ struct{} `type:"structure"`
  50361. // The description of the AFI.
  50362. Description *string `locationName:"description" type:"string"`
  50363. // The ID of the AFI.
  50364. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  50365. // One or more load permissions.
  50366. LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
  50367. // The name of the AFI.
  50368. Name *string `locationName:"name" type:"string"`
  50369. // One or more product codes.
  50370. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  50371. }
  50372. // String returns the string representation
  50373. func (s FpgaImageAttribute) String() string {
  50374. return awsutil.Prettify(s)
  50375. }
  50376. // GoString returns the string representation
  50377. func (s FpgaImageAttribute) GoString() string {
  50378. return s.String()
  50379. }
  50380. // SetDescription sets the Description field's value.
  50381. func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
  50382. s.Description = &v
  50383. return s
  50384. }
  50385. // SetFpgaImageId sets the FpgaImageId field's value.
  50386. func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
  50387. s.FpgaImageId = &v
  50388. return s
  50389. }
  50390. // SetLoadPermissions sets the LoadPermissions field's value.
  50391. func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
  50392. s.LoadPermissions = v
  50393. return s
  50394. }
  50395. // SetName sets the Name field's value.
  50396. func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
  50397. s.Name = &v
  50398. return s
  50399. }
  50400. // SetProductCodes sets the ProductCodes field's value.
  50401. func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
  50402. s.ProductCodes = v
  50403. return s
  50404. }
  50405. // Describes the state of the bitstream generation process for an Amazon FPGA
  50406. // image (AFI).
  50407. type FpgaImageState struct {
  50408. _ struct{} `type:"structure"`
  50409. // The state. The following are the possible values:
  50410. //
  50411. // * pending - AFI bitstream generation is in progress.
  50412. //
  50413. // * available - The AFI is available for use.
  50414. //
  50415. // * failed - AFI bitstream generation failed.
  50416. //
  50417. // * unavailable - The AFI is no longer available for use.
  50418. Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
  50419. // If the state is failed, this is the error message.
  50420. Message *string `locationName:"message" type:"string"`
  50421. }
  50422. // String returns the string representation
  50423. func (s FpgaImageState) String() string {
  50424. return awsutil.Prettify(s)
  50425. }
  50426. // GoString returns the string representation
  50427. func (s FpgaImageState) GoString() string {
  50428. return s.String()
  50429. }
  50430. // SetCode sets the Code field's value.
  50431. func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
  50432. s.Code = &v
  50433. return s
  50434. }
  50435. // SetMessage sets the Message field's value.
  50436. func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
  50437. s.Message = &v
  50438. return s
  50439. }
  50440. type GetConsoleOutputInput struct {
  50441. _ struct{} `type:"structure"`
  50442. // Checks whether you have the required permissions for the action, without
  50443. // actually making the request, and provides an error response. If you have
  50444. // the required permissions, the error response is DryRunOperation. Otherwise,
  50445. // it is UnauthorizedOperation.
  50446. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50447. // The ID of the instance.
  50448. //
  50449. // InstanceId is a required field
  50450. InstanceId *string `type:"string" required:"true"`
  50451. // When enabled, retrieves the latest console output for the instance.
  50452. //
  50453. // Default: disabled (false)
  50454. Latest *bool `type:"boolean"`
  50455. }
  50456. // String returns the string representation
  50457. func (s GetConsoleOutputInput) String() string {
  50458. return awsutil.Prettify(s)
  50459. }
  50460. // GoString returns the string representation
  50461. func (s GetConsoleOutputInput) GoString() string {
  50462. return s.String()
  50463. }
  50464. // Validate inspects the fields of the type to determine if they are valid.
  50465. func (s *GetConsoleOutputInput) Validate() error {
  50466. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  50467. if s.InstanceId == nil {
  50468. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  50469. }
  50470. if invalidParams.Len() > 0 {
  50471. return invalidParams
  50472. }
  50473. return nil
  50474. }
  50475. // SetDryRun sets the DryRun field's value.
  50476. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  50477. s.DryRun = &v
  50478. return s
  50479. }
  50480. // SetInstanceId sets the InstanceId field's value.
  50481. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  50482. s.InstanceId = &v
  50483. return s
  50484. }
  50485. // SetLatest sets the Latest field's value.
  50486. func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
  50487. s.Latest = &v
  50488. return s
  50489. }
  50490. type GetConsoleOutputOutput struct {
  50491. _ struct{} `type:"structure"`
  50492. // The ID of the instance.
  50493. InstanceId *string `locationName:"instanceId" type:"string"`
  50494. // The console output, base64-encoded. If you are using a command line tool,
  50495. // the tool decodes the output for you.
  50496. Output *string `locationName:"output" type:"string"`
  50497. // The time at which the output was last updated.
  50498. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  50499. }
  50500. // String returns the string representation
  50501. func (s GetConsoleOutputOutput) String() string {
  50502. return awsutil.Prettify(s)
  50503. }
  50504. // GoString returns the string representation
  50505. func (s GetConsoleOutputOutput) GoString() string {
  50506. return s.String()
  50507. }
  50508. // SetInstanceId sets the InstanceId field's value.
  50509. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  50510. s.InstanceId = &v
  50511. return s
  50512. }
  50513. // SetOutput sets the Output field's value.
  50514. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  50515. s.Output = &v
  50516. return s
  50517. }
  50518. // SetTimestamp sets the Timestamp field's value.
  50519. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  50520. s.Timestamp = &v
  50521. return s
  50522. }
  50523. type GetConsoleScreenshotInput struct {
  50524. _ struct{} `type:"structure"`
  50525. // Checks whether you have the required permissions for the action, without
  50526. // actually making the request, and provides an error response. If you have
  50527. // the required permissions, the error response is DryRunOperation. Otherwise,
  50528. // it is UnauthorizedOperation.
  50529. DryRun *bool `type:"boolean"`
  50530. // The ID of the instance.
  50531. //
  50532. // InstanceId is a required field
  50533. InstanceId *string `type:"string" required:"true"`
  50534. // When set to true, acts as keystroke input and wakes up an instance that's
  50535. // in standby or "sleep" mode.
  50536. WakeUp *bool `type:"boolean"`
  50537. }
  50538. // String returns the string representation
  50539. func (s GetConsoleScreenshotInput) String() string {
  50540. return awsutil.Prettify(s)
  50541. }
  50542. // GoString returns the string representation
  50543. func (s GetConsoleScreenshotInput) GoString() string {
  50544. return s.String()
  50545. }
  50546. // Validate inspects the fields of the type to determine if they are valid.
  50547. func (s *GetConsoleScreenshotInput) Validate() error {
  50548. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  50549. if s.InstanceId == nil {
  50550. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  50551. }
  50552. if invalidParams.Len() > 0 {
  50553. return invalidParams
  50554. }
  50555. return nil
  50556. }
  50557. // SetDryRun sets the DryRun field's value.
  50558. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  50559. s.DryRun = &v
  50560. return s
  50561. }
  50562. // SetInstanceId sets the InstanceId field's value.
  50563. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  50564. s.InstanceId = &v
  50565. return s
  50566. }
  50567. // SetWakeUp sets the WakeUp field's value.
  50568. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  50569. s.WakeUp = &v
  50570. return s
  50571. }
  50572. type GetConsoleScreenshotOutput struct {
  50573. _ struct{} `type:"structure"`
  50574. // The data that comprises the image.
  50575. ImageData *string `locationName:"imageData" type:"string"`
  50576. // The ID of the instance.
  50577. InstanceId *string `locationName:"instanceId" type:"string"`
  50578. }
  50579. // String returns the string representation
  50580. func (s GetConsoleScreenshotOutput) String() string {
  50581. return awsutil.Prettify(s)
  50582. }
  50583. // GoString returns the string representation
  50584. func (s GetConsoleScreenshotOutput) GoString() string {
  50585. return s.String()
  50586. }
  50587. // SetImageData sets the ImageData field's value.
  50588. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  50589. s.ImageData = &v
  50590. return s
  50591. }
  50592. // SetInstanceId sets the InstanceId field's value.
  50593. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  50594. s.InstanceId = &v
  50595. return s
  50596. }
  50597. type GetHostReservationPurchasePreviewInput struct {
  50598. _ struct{} `type:"structure"`
  50599. // The IDs of the Dedicated Hosts with which the reservation is associated.
  50600. //
  50601. // HostIdSet is a required field
  50602. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  50603. // The offering ID of the reservation.
  50604. //
  50605. // OfferingId is a required field
  50606. OfferingId *string `type:"string" required:"true"`
  50607. }
  50608. // String returns the string representation
  50609. func (s GetHostReservationPurchasePreviewInput) String() string {
  50610. return awsutil.Prettify(s)
  50611. }
  50612. // GoString returns the string representation
  50613. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  50614. return s.String()
  50615. }
  50616. // Validate inspects the fields of the type to determine if they are valid.
  50617. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  50618. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  50619. if s.HostIdSet == nil {
  50620. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  50621. }
  50622. if s.OfferingId == nil {
  50623. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  50624. }
  50625. if invalidParams.Len() > 0 {
  50626. return invalidParams
  50627. }
  50628. return nil
  50629. }
  50630. // SetHostIdSet sets the HostIdSet field's value.
  50631. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  50632. s.HostIdSet = v
  50633. return s
  50634. }
  50635. // SetOfferingId sets the OfferingId field's value.
  50636. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  50637. s.OfferingId = &v
  50638. return s
  50639. }
  50640. type GetHostReservationPurchasePreviewOutput struct {
  50641. _ struct{} `type:"structure"`
  50642. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  50643. // are specified. At this time, the only supported currency is USD.
  50644. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  50645. // The purchase information of the Dedicated Host reservation and the Dedicated
  50646. // Hosts associated with it.
  50647. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  50648. // The potential total hourly price of the reservation per hour.
  50649. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  50650. // The potential total upfront price. This is billed immediately.
  50651. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  50652. }
  50653. // String returns the string representation
  50654. func (s GetHostReservationPurchasePreviewOutput) String() string {
  50655. return awsutil.Prettify(s)
  50656. }
  50657. // GoString returns the string representation
  50658. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  50659. return s.String()
  50660. }
  50661. // SetCurrencyCode sets the CurrencyCode field's value.
  50662. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  50663. s.CurrencyCode = &v
  50664. return s
  50665. }
  50666. // SetPurchase sets the Purchase field's value.
  50667. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  50668. s.Purchase = v
  50669. return s
  50670. }
  50671. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  50672. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  50673. s.TotalHourlyPrice = &v
  50674. return s
  50675. }
  50676. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  50677. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  50678. s.TotalUpfrontPrice = &v
  50679. return s
  50680. }
  50681. type GetLaunchTemplateDataInput struct {
  50682. _ struct{} `type:"structure"`
  50683. // Checks whether you have the required permissions for the action, without
  50684. // actually making the request, and provides an error response. If you have
  50685. // the required permissions, the error response is DryRunOperation. Otherwise,
  50686. // it is UnauthorizedOperation.
  50687. DryRun *bool `type:"boolean"`
  50688. // The ID of the instance.
  50689. //
  50690. // InstanceId is a required field
  50691. InstanceId *string `type:"string" required:"true"`
  50692. }
  50693. // String returns the string representation
  50694. func (s GetLaunchTemplateDataInput) String() string {
  50695. return awsutil.Prettify(s)
  50696. }
  50697. // GoString returns the string representation
  50698. func (s GetLaunchTemplateDataInput) GoString() string {
  50699. return s.String()
  50700. }
  50701. // Validate inspects the fields of the type to determine if they are valid.
  50702. func (s *GetLaunchTemplateDataInput) Validate() error {
  50703. invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
  50704. if s.InstanceId == nil {
  50705. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  50706. }
  50707. if invalidParams.Len() > 0 {
  50708. return invalidParams
  50709. }
  50710. return nil
  50711. }
  50712. // SetDryRun sets the DryRun field's value.
  50713. func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
  50714. s.DryRun = &v
  50715. return s
  50716. }
  50717. // SetInstanceId sets the InstanceId field's value.
  50718. func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
  50719. s.InstanceId = &v
  50720. return s
  50721. }
  50722. type GetLaunchTemplateDataOutput struct {
  50723. _ struct{} `type:"structure"`
  50724. // The instance data.
  50725. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  50726. }
  50727. // String returns the string representation
  50728. func (s GetLaunchTemplateDataOutput) String() string {
  50729. return awsutil.Prettify(s)
  50730. }
  50731. // GoString returns the string representation
  50732. func (s GetLaunchTemplateDataOutput) GoString() string {
  50733. return s.String()
  50734. }
  50735. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  50736. func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
  50737. s.LaunchTemplateData = v
  50738. return s
  50739. }
  50740. type GetPasswordDataInput struct {
  50741. _ struct{} `type:"structure"`
  50742. // Checks whether you have the required permissions for the action, without
  50743. // actually making the request, and provides an error response. If you have
  50744. // the required permissions, the error response is DryRunOperation. Otherwise,
  50745. // it is UnauthorizedOperation.
  50746. DryRun *bool `locationName:"dryRun" type:"boolean"`
  50747. // The ID of the Windows instance.
  50748. //
  50749. // InstanceId is a required field
  50750. InstanceId *string `type:"string" required:"true"`
  50751. }
  50752. // String returns the string representation
  50753. func (s GetPasswordDataInput) String() string {
  50754. return awsutil.Prettify(s)
  50755. }
  50756. // GoString returns the string representation
  50757. func (s GetPasswordDataInput) GoString() string {
  50758. return s.String()
  50759. }
  50760. // Validate inspects the fields of the type to determine if they are valid.
  50761. func (s *GetPasswordDataInput) Validate() error {
  50762. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  50763. if s.InstanceId == nil {
  50764. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  50765. }
  50766. if invalidParams.Len() > 0 {
  50767. return invalidParams
  50768. }
  50769. return nil
  50770. }
  50771. // SetDryRun sets the DryRun field's value.
  50772. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  50773. s.DryRun = &v
  50774. return s
  50775. }
  50776. // SetInstanceId sets the InstanceId field's value.
  50777. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  50778. s.InstanceId = &v
  50779. return s
  50780. }
  50781. type GetPasswordDataOutput struct {
  50782. _ struct{} `type:"structure"`
  50783. // The ID of the Windows instance.
  50784. InstanceId *string `locationName:"instanceId" type:"string"`
  50785. // The password of the instance. Returns an empty string if the password is
  50786. // not available.
  50787. PasswordData *string `locationName:"passwordData" type:"string"`
  50788. // The time the data was last updated.
  50789. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  50790. }
  50791. // String returns the string representation
  50792. func (s GetPasswordDataOutput) String() string {
  50793. return awsutil.Prettify(s)
  50794. }
  50795. // GoString returns the string representation
  50796. func (s GetPasswordDataOutput) GoString() string {
  50797. return s.String()
  50798. }
  50799. // SetInstanceId sets the InstanceId field's value.
  50800. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  50801. s.InstanceId = &v
  50802. return s
  50803. }
  50804. // SetPasswordData sets the PasswordData field's value.
  50805. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  50806. s.PasswordData = &v
  50807. return s
  50808. }
  50809. // SetTimestamp sets the Timestamp field's value.
  50810. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  50811. s.Timestamp = &v
  50812. return s
  50813. }
  50814. // Contains the parameters for GetReservedInstanceExchangeQuote.
  50815. type GetReservedInstancesExchangeQuoteInput struct {
  50816. _ struct{} `type:"structure"`
  50817. // Checks whether you have the required permissions for the action, without
  50818. // actually making the request, and provides an error response. If you have
  50819. // the required permissions, the error response is DryRunOperation. Otherwise,
  50820. // it is UnauthorizedOperation.
  50821. DryRun *bool `type:"boolean"`
  50822. // The IDs of the Convertible Reserved Instances to exchange.
  50823. //
  50824. // ReservedInstanceIds is a required field
  50825. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  50826. // The configuration of the target Convertible Reserved Instance to exchange
  50827. // for your current Convertible Reserved Instances.
  50828. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  50829. }
  50830. // String returns the string representation
  50831. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  50832. return awsutil.Prettify(s)
  50833. }
  50834. // GoString returns the string representation
  50835. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  50836. return s.String()
  50837. }
  50838. // Validate inspects the fields of the type to determine if they are valid.
  50839. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  50840. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  50841. if s.ReservedInstanceIds == nil {
  50842. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  50843. }
  50844. if s.TargetConfigurations != nil {
  50845. for i, v := range s.TargetConfigurations {
  50846. if v == nil {
  50847. continue
  50848. }
  50849. if err := v.Validate(); err != nil {
  50850. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  50851. }
  50852. }
  50853. }
  50854. if invalidParams.Len() > 0 {
  50855. return invalidParams
  50856. }
  50857. return nil
  50858. }
  50859. // SetDryRun sets the DryRun field's value.
  50860. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  50861. s.DryRun = &v
  50862. return s
  50863. }
  50864. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  50865. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  50866. s.ReservedInstanceIds = v
  50867. return s
  50868. }
  50869. // SetTargetConfigurations sets the TargetConfigurations field's value.
  50870. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  50871. s.TargetConfigurations = v
  50872. return s
  50873. }
  50874. // Contains the output of GetReservedInstancesExchangeQuote.
  50875. type GetReservedInstancesExchangeQuoteOutput struct {
  50876. _ struct{} `type:"structure"`
  50877. // The currency of the transaction.
  50878. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  50879. // If true, the exchange is valid. If false, the exchange cannot be completed.
  50880. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  50881. // The new end date of the reservation term.
  50882. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
  50883. // The total true upfront charge for the exchange.
  50884. PaymentDue *string `locationName:"paymentDue" type:"string"`
  50885. // The cost associated with the Reserved Instance.
  50886. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  50887. // The configuration of your Convertible Reserved Instances.
  50888. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  50889. // The cost associated with the Reserved Instance.
  50890. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  50891. // The values of the target Convertible Reserved Instances.
  50892. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  50893. // Describes the reason why the exchange cannot be completed.
  50894. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  50895. }
  50896. // String returns the string representation
  50897. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  50898. return awsutil.Prettify(s)
  50899. }
  50900. // GoString returns the string representation
  50901. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  50902. return s.String()
  50903. }
  50904. // SetCurrencyCode sets the CurrencyCode field's value.
  50905. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  50906. s.CurrencyCode = &v
  50907. return s
  50908. }
  50909. // SetIsValidExchange sets the IsValidExchange field's value.
  50910. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  50911. s.IsValidExchange = &v
  50912. return s
  50913. }
  50914. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  50915. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  50916. s.OutputReservedInstancesWillExpireAt = &v
  50917. return s
  50918. }
  50919. // SetPaymentDue sets the PaymentDue field's value.
  50920. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  50921. s.PaymentDue = &v
  50922. return s
  50923. }
  50924. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  50925. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  50926. s.ReservedInstanceValueRollup = v
  50927. return s
  50928. }
  50929. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  50930. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  50931. s.ReservedInstanceValueSet = v
  50932. return s
  50933. }
  50934. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  50935. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  50936. s.TargetConfigurationValueRollup = v
  50937. return s
  50938. }
  50939. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  50940. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  50941. s.TargetConfigurationValueSet = v
  50942. return s
  50943. }
  50944. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  50945. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  50946. s.ValidationFailureReason = &v
  50947. return s
  50948. }
  50949. type GetTransitGatewayAttachmentPropagationsInput struct {
  50950. _ struct{} `type:"structure"`
  50951. // Checks whether you have the required permissions for the action, without
  50952. // actually making the request, and provides an error response. If you have
  50953. // the required permissions, the error response is DryRunOperation. Otherwise,
  50954. // it is UnauthorizedOperation.
  50955. DryRun *bool `type:"boolean"`
  50956. // One or more filters. The possible values are:
  50957. //
  50958. // * transit-gateway-route-table-id - The ID of the transit gateway route
  50959. // table.
  50960. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  50961. // The maximum number of results to return with a single call. To retrieve the
  50962. // remaining results, make another call with the returned nextToken value.
  50963. MaxResults *int64 `min:"5" type:"integer"`
  50964. // The token for the next page of results.
  50965. NextToken *string `type:"string"`
  50966. // The ID of the attachment.
  50967. //
  50968. // TransitGatewayAttachmentId is a required field
  50969. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  50970. }
  50971. // String returns the string representation
  50972. func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
  50973. return awsutil.Prettify(s)
  50974. }
  50975. // GoString returns the string representation
  50976. func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
  50977. return s.String()
  50978. }
  50979. // Validate inspects the fields of the type to determine if they are valid.
  50980. func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
  50981. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
  50982. if s.MaxResults != nil && *s.MaxResults < 5 {
  50983. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  50984. }
  50985. if s.TransitGatewayAttachmentId == nil {
  50986. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  50987. }
  50988. if invalidParams.Len() > 0 {
  50989. return invalidParams
  50990. }
  50991. return nil
  50992. }
  50993. // SetDryRun sets the DryRun field's value.
  50994. func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
  50995. s.DryRun = &v
  50996. return s
  50997. }
  50998. // SetFilters sets the Filters field's value.
  50999. func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
  51000. s.Filters = v
  51001. return s
  51002. }
  51003. // SetMaxResults sets the MaxResults field's value.
  51004. func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
  51005. s.MaxResults = &v
  51006. return s
  51007. }
  51008. // SetNextToken sets the NextToken field's value.
  51009. func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
  51010. s.NextToken = &v
  51011. return s
  51012. }
  51013. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  51014. func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
  51015. s.TransitGatewayAttachmentId = &v
  51016. return s
  51017. }
  51018. type GetTransitGatewayAttachmentPropagationsOutput struct {
  51019. _ struct{} `type:"structure"`
  51020. // The token to use to retrieve the next page of results. This value is null
  51021. // when there are no more results to return.
  51022. NextToken *string `locationName:"nextToken" type:"string"`
  51023. // Information about the propagation route tables.
  51024. TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
  51025. }
  51026. // String returns the string representation
  51027. func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
  51028. return awsutil.Prettify(s)
  51029. }
  51030. // GoString returns the string representation
  51031. func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
  51032. return s.String()
  51033. }
  51034. // SetNextToken sets the NextToken field's value.
  51035. func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
  51036. s.NextToken = &v
  51037. return s
  51038. }
  51039. // SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
  51040. func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
  51041. s.TransitGatewayAttachmentPropagations = v
  51042. return s
  51043. }
  51044. type GetTransitGatewayRouteTableAssociationsInput struct {
  51045. _ struct{} `type:"structure"`
  51046. // Checks whether you have the required permissions for the action, without
  51047. // actually making the request, and provides an error response. If you have
  51048. // the required permissions, the error response is DryRunOperation. Otherwise,
  51049. // it is UnauthorizedOperation.
  51050. DryRun *bool `type:"boolean"`
  51051. // One or more filters. The possible values are:
  51052. //
  51053. // * resource-id - The ID of the resource.
  51054. //
  51055. // * resource-type - The resource type (vpc | vpn).
  51056. //
  51057. // * transit-gateway-attachment-id - The ID of the attachment.
  51058. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51059. // The maximum number of results to return with a single call. To retrieve the
  51060. // remaining results, make another call with the returned nextToken value.
  51061. MaxResults *int64 `min:"5" type:"integer"`
  51062. // The token for the next page of results.
  51063. NextToken *string `type:"string"`
  51064. // The ID of the transit gateway route table.
  51065. //
  51066. // TransitGatewayRouteTableId is a required field
  51067. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  51068. }
  51069. // String returns the string representation
  51070. func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
  51071. return awsutil.Prettify(s)
  51072. }
  51073. // GoString returns the string representation
  51074. func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
  51075. return s.String()
  51076. }
  51077. // Validate inspects the fields of the type to determine if they are valid.
  51078. func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
  51079. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
  51080. if s.MaxResults != nil && *s.MaxResults < 5 {
  51081. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  51082. }
  51083. if s.TransitGatewayRouteTableId == nil {
  51084. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  51085. }
  51086. if invalidParams.Len() > 0 {
  51087. return invalidParams
  51088. }
  51089. return nil
  51090. }
  51091. // SetDryRun sets the DryRun field's value.
  51092. func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
  51093. s.DryRun = &v
  51094. return s
  51095. }
  51096. // SetFilters sets the Filters field's value.
  51097. func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
  51098. s.Filters = v
  51099. return s
  51100. }
  51101. // SetMaxResults sets the MaxResults field's value.
  51102. func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
  51103. s.MaxResults = &v
  51104. return s
  51105. }
  51106. // SetNextToken sets the NextToken field's value.
  51107. func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
  51108. s.NextToken = &v
  51109. return s
  51110. }
  51111. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  51112. func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
  51113. s.TransitGatewayRouteTableId = &v
  51114. return s
  51115. }
  51116. type GetTransitGatewayRouteTableAssociationsOutput struct {
  51117. _ struct{} `type:"structure"`
  51118. // Information about the associations.
  51119. Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
  51120. // The token to use to retrieve the next page of results. This value is null
  51121. // when there are no more results to return.
  51122. NextToken *string `locationName:"nextToken" type:"string"`
  51123. }
  51124. // String returns the string representation
  51125. func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
  51126. return awsutil.Prettify(s)
  51127. }
  51128. // GoString returns the string representation
  51129. func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
  51130. return s.String()
  51131. }
  51132. // SetAssociations sets the Associations field's value.
  51133. func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
  51134. s.Associations = v
  51135. return s
  51136. }
  51137. // SetNextToken sets the NextToken field's value.
  51138. func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
  51139. s.NextToken = &v
  51140. return s
  51141. }
  51142. type GetTransitGatewayRouteTablePropagationsInput struct {
  51143. _ struct{} `type:"structure"`
  51144. // Checks whether you have the required permissions for the action, without
  51145. // actually making the request, and provides an error response. If you have
  51146. // the required permissions, the error response is DryRunOperation. Otherwise,
  51147. // it is UnauthorizedOperation.
  51148. DryRun *bool `type:"boolean"`
  51149. // One or more filters. The possible values are:
  51150. //
  51151. // * resource-id - The ID of the resource.
  51152. //
  51153. // * resource-type - The resource type (vpc | vpn).
  51154. //
  51155. // * transit-gateway-attachment-id - The ID of the attachment.
  51156. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  51157. // The maximum number of results to return with a single call. To retrieve the
  51158. // remaining results, make another call with the returned nextToken value.
  51159. MaxResults *int64 `min:"5" type:"integer"`
  51160. // The token for the next page of results.
  51161. NextToken *string `type:"string"`
  51162. // The ID of the transit gateway route table.
  51163. //
  51164. // TransitGatewayRouteTableId is a required field
  51165. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  51166. }
  51167. // String returns the string representation
  51168. func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
  51169. return awsutil.Prettify(s)
  51170. }
  51171. // GoString returns the string representation
  51172. func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
  51173. return s.String()
  51174. }
  51175. // Validate inspects the fields of the type to determine if they are valid.
  51176. func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
  51177. invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
  51178. if s.MaxResults != nil && *s.MaxResults < 5 {
  51179. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  51180. }
  51181. if s.TransitGatewayRouteTableId == nil {
  51182. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  51183. }
  51184. if invalidParams.Len() > 0 {
  51185. return invalidParams
  51186. }
  51187. return nil
  51188. }
  51189. // SetDryRun sets the DryRun field's value.
  51190. func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
  51191. s.DryRun = &v
  51192. return s
  51193. }
  51194. // SetFilters sets the Filters field's value.
  51195. func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
  51196. s.Filters = v
  51197. return s
  51198. }
  51199. // SetMaxResults sets the MaxResults field's value.
  51200. func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
  51201. s.MaxResults = &v
  51202. return s
  51203. }
  51204. // SetNextToken sets the NextToken field's value.
  51205. func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
  51206. s.NextToken = &v
  51207. return s
  51208. }
  51209. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  51210. func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
  51211. s.TransitGatewayRouteTableId = &v
  51212. return s
  51213. }
  51214. type GetTransitGatewayRouteTablePropagationsOutput struct {
  51215. _ struct{} `type:"structure"`
  51216. // The token to use to retrieve the next page of results. This value is null
  51217. // when there are no more results to return.
  51218. NextToken *string `locationName:"nextToken" type:"string"`
  51219. // Information about the route table propagations.
  51220. TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
  51221. }
  51222. // String returns the string representation
  51223. func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
  51224. return awsutil.Prettify(s)
  51225. }
  51226. // GoString returns the string representation
  51227. func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
  51228. return s.String()
  51229. }
  51230. // SetNextToken sets the NextToken field's value.
  51231. func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
  51232. s.NextToken = &v
  51233. return s
  51234. }
  51235. // SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
  51236. func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
  51237. s.TransitGatewayRouteTablePropagations = v
  51238. return s
  51239. }
  51240. // Describes a security group.
  51241. type GroupIdentifier struct {
  51242. _ struct{} `type:"structure"`
  51243. // The ID of the security group.
  51244. GroupId *string `locationName:"groupId" type:"string"`
  51245. // The name of the security group.
  51246. GroupName *string `locationName:"groupName" type:"string"`
  51247. }
  51248. // String returns the string representation
  51249. func (s GroupIdentifier) String() string {
  51250. return awsutil.Prettify(s)
  51251. }
  51252. // GoString returns the string representation
  51253. func (s GroupIdentifier) GoString() string {
  51254. return s.String()
  51255. }
  51256. // SetGroupId sets the GroupId field's value.
  51257. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  51258. s.GroupId = &v
  51259. return s
  51260. }
  51261. // SetGroupName sets the GroupName field's value.
  51262. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  51263. s.GroupName = &v
  51264. return s
  51265. }
  51266. // Indicates whether your instance is configured for hibernation. This parameter
  51267. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  51268. // Hibernation is currently supported only for Amazon Linux. For more information,
  51269. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  51270. // in the Amazon Elastic Compute Cloud User Guide.
  51271. type HibernationOptions struct {
  51272. _ struct{} `type:"structure"`
  51273. // If this parameter is set to true, your instance is enabled for hibernation;
  51274. // otherwise, it is not enabled for hibernation.
  51275. Configured *bool `locationName:"configured" type:"boolean"`
  51276. }
  51277. // String returns the string representation
  51278. func (s HibernationOptions) String() string {
  51279. return awsutil.Prettify(s)
  51280. }
  51281. // GoString returns the string representation
  51282. func (s HibernationOptions) GoString() string {
  51283. return s.String()
  51284. }
  51285. // SetConfigured sets the Configured field's value.
  51286. func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
  51287. s.Configured = &v
  51288. return s
  51289. }
  51290. // Indicates whether your instance is configured for hibernation. This parameter
  51291. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  51292. // Hibernation is currently supported only for Amazon Linux. For more information,
  51293. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  51294. // in the Amazon Elastic Compute Cloud User Guide.
  51295. type HibernationOptionsRequest struct {
  51296. _ struct{} `type:"structure"`
  51297. // If you set this parameter to true, your instance is enabled for hibernation.
  51298. //
  51299. // Default: false
  51300. Configured *bool `type:"boolean"`
  51301. }
  51302. // String returns the string representation
  51303. func (s HibernationOptionsRequest) String() string {
  51304. return awsutil.Prettify(s)
  51305. }
  51306. // GoString returns the string representation
  51307. func (s HibernationOptionsRequest) GoString() string {
  51308. return s.String()
  51309. }
  51310. // SetConfigured sets the Configured field's value.
  51311. func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
  51312. s.Configured = &v
  51313. return s
  51314. }
  51315. // Describes an event in the history of the Spot Fleet request.
  51316. type HistoryRecord struct {
  51317. _ struct{} `type:"structure"`
  51318. // Information about the event.
  51319. EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
  51320. // The event type.
  51321. //
  51322. // * error - An error with the Spot Fleet request.
  51323. //
  51324. // * fleetRequestChange - A change in the status or configuration of the
  51325. // Spot Fleet request.
  51326. //
  51327. // * instanceChange - An instance was launched or terminated.
  51328. //
  51329. // * Information - An informational event.
  51330. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  51331. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  51332. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  51333. }
  51334. // String returns the string representation
  51335. func (s HistoryRecord) String() string {
  51336. return awsutil.Prettify(s)
  51337. }
  51338. // GoString returns the string representation
  51339. func (s HistoryRecord) GoString() string {
  51340. return s.String()
  51341. }
  51342. // SetEventInformation sets the EventInformation field's value.
  51343. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  51344. s.EventInformation = v
  51345. return s
  51346. }
  51347. // SetEventType sets the EventType field's value.
  51348. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  51349. s.EventType = &v
  51350. return s
  51351. }
  51352. // SetTimestamp sets the Timestamp field's value.
  51353. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  51354. s.Timestamp = &v
  51355. return s
  51356. }
  51357. // Describes an event in the history of an EC2 Fleet.
  51358. type HistoryRecordEntry struct {
  51359. _ struct{} `type:"structure"`
  51360. // Information about the event.
  51361. EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
  51362. // The event type.
  51363. EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
  51364. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  51365. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  51366. }
  51367. // String returns the string representation
  51368. func (s HistoryRecordEntry) String() string {
  51369. return awsutil.Prettify(s)
  51370. }
  51371. // GoString returns the string representation
  51372. func (s HistoryRecordEntry) GoString() string {
  51373. return s.String()
  51374. }
  51375. // SetEventInformation sets the EventInformation field's value.
  51376. func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
  51377. s.EventInformation = v
  51378. return s
  51379. }
  51380. // SetEventType sets the EventType field's value.
  51381. func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
  51382. s.EventType = &v
  51383. return s
  51384. }
  51385. // SetTimestamp sets the Timestamp field's value.
  51386. func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
  51387. s.Timestamp = &v
  51388. return s
  51389. }
  51390. // Describes the properties of the Dedicated Host.
  51391. type Host struct {
  51392. _ struct{} `type:"structure"`
  51393. // The time that the Dedicated Host was allocated.
  51394. AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
  51395. // Whether auto-placement is on or off.
  51396. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  51397. // The Availability Zone of the Dedicated Host.
  51398. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  51399. // The number of new instances that can be launched onto the Dedicated Host.
  51400. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  51401. // Unique, case-sensitive identifier that you provide to ensure idempotency
  51402. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  51403. // in the Amazon Elastic Compute Cloud User Guide.
  51404. ClientToken *string `locationName:"clientToken" type:"string"`
  51405. // The ID of the Dedicated Host.
  51406. HostId *string `locationName:"hostId" type:"string"`
  51407. // The hardware specifications of the Dedicated Host.
  51408. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  51409. // The reservation ID of the Dedicated Host. This returns a null response if
  51410. // the Dedicated Host doesn't have an associated reservation.
  51411. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  51412. // The IDs and instance type that are currently running on the Dedicated Host.
  51413. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  51414. // The time that the Dedicated Host was released.
  51415. ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
  51416. // The Dedicated Host's state.
  51417. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  51418. // Any tags assigned to the Dedicated Host.
  51419. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  51420. }
  51421. // String returns the string representation
  51422. func (s Host) String() string {
  51423. return awsutil.Prettify(s)
  51424. }
  51425. // GoString returns the string representation
  51426. func (s Host) GoString() string {
  51427. return s.String()
  51428. }
  51429. // SetAllocationTime sets the AllocationTime field's value.
  51430. func (s *Host) SetAllocationTime(v time.Time) *Host {
  51431. s.AllocationTime = &v
  51432. return s
  51433. }
  51434. // SetAutoPlacement sets the AutoPlacement field's value.
  51435. func (s *Host) SetAutoPlacement(v string) *Host {
  51436. s.AutoPlacement = &v
  51437. return s
  51438. }
  51439. // SetAvailabilityZone sets the AvailabilityZone field's value.
  51440. func (s *Host) SetAvailabilityZone(v string) *Host {
  51441. s.AvailabilityZone = &v
  51442. return s
  51443. }
  51444. // SetAvailableCapacity sets the AvailableCapacity field's value.
  51445. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  51446. s.AvailableCapacity = v
  51447. return s
  51448. }
  51449. // SetClientToken sets the ClientToken field's value.
  51450. func (s *Host) SetClientToken(v string) *Host {
  51451. s.ClientToken = &v
  51452. return s
  51453. }
  51454. // SetHostId sets the HostId field's value.
  51455. func (s *Host) SetHostId(v string) *Host {
  51456. s.HostId = &v
  51457. return s
  51458. }
  51459. // SetHostProperties sets the HostProperties field's value.
  51460. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  51461. s.HostProperties = v
  51462. return s
  51463. }
  51464. // SetHostReservationId sets the HostReservationId field's value.
  51465. func (s *Host) SetHostReservationId(v string) *Host {
  51466. s.HostReservationId = &v
  51467. return s
  51468. }
  51469. // SetInstances sets the Instances field's value.
  51470. func (s *Host) SetInstances(v []*HostInstance) *Host {
  51471. s.Instances = v
  51472. return s
  51473. }
  51474. // SetReleaseTime sets the ReleaseTime field's value.
  51475. func (s *Host) SetReleaseTime(v time.Time) *Host {
  51476. s.ReleaseTime = &v
  51477. return s
  51478. }
  51479. // SetState sets the State field's value.
  51480. func (s *Host) SetState(v string) *Host {
  51481. s.State = &v
  51482. return s
  51483. }
  51484. // SetTags sets the Tags field's value.
  51485. func (s *Host) SetTags(v []*Tag) *Host {
  51486. s.Tags = v
  51487. return s
  51488. }
  51489. // Describes an instance running on a Dedicated Host.
  51490. type HostInstance struct {
  51491. _ struct{} `type:"structure"`
  51492. // the IDs of instances that are running on the Dedicated Host.
  51493. InstanceId *string `locationName:"instanceId" type:"string"`
  51494. // The instance type size (for example, m3.medium) of the running instance.
  51495. InstanceType *string `locationName:"instanceType" type:"string"`
  51496. }
  51497. // String returns the string representation
  51498. func (s HostInstance) String() string {
  51499. return awsutil.Prettify(s)
  51500. }
  51501. // GoString returns the string representation
  51502. func (s HostInstance) GoString() string {
  51503. return s.String()
  51504. }
  51505. // SetInstanceId sets the InstanceId field's value.
  51506. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  51507. s.InstanceId = &v
  51508. return s
  51509. }
  51510. // SetInstanceType sets the InstanceType field's value.
  51511. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  51512. s.InstanceType = &v
  51513. return s
  51514. }
  51515. // Details about the Dedicated Host Reservation offering.
  51516. type HostOffering struct {
  51517. _ struct{} `type:"structure"`
  51518. // The currency of the offering.
  51519. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  51520. // The duration of the offering (in seconds).
  51521. Duration *int64 `locationName:"duration" type:"integer"`
  51522. // The hourly price of the offering.
  51523. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  51524. // The instance family of the offering.
  51525. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  51526. // The ID of the offering.
  51527. OfferingId *string `locationName:"offeringId" type:"string"`
  51528. // The available payment option.
  51529. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  51530. // The upfront price of the offering. Does not apply to No Upfront offerings.
  51531. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  51532. }
  51533. // String returns the string representation
  51534. func (s HostOffering) String() string {
  51535. return awsutil.Prettify(s)
  51536. }
  51537. // GoString returns the string representation
  51538. func (s HostOffering) GoString() string {
  51539. return s.String()
  51540. }
  51541. // SetCurrencyCode sets the CurrencyCode field's value.
  51542. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  51543. s.CurrencyCode = &v
  51544. return s
  51545. }
  51546. // SetDuration sets the Duration field's value.
  51547. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  51548. s.Duration = &v
  51549. return s
  51550. }
  51551. // SetHourlyPrice sets the HourlyPrice field's value.
  51552. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  51553. s.HourlyPrice = &v
  51554. return s
  51555. }
  51556. // SetInstanceFamily sets the InstanceFamily field's value.
  51557. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  51558. s.InstanceFamily = &v
  51559. return s
  51560. }
  51561. // SetOfferingId sets the OfferingId field's value.
  51562. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  51563. s.OfferingId = &v
  51564. return s
  51565. }
  51566. // SetPaymentOption sets the PaymentOption field's value.
  51567. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  51568. s.PaymentOption = &v
  51569. return s
  51570. }
  51571. // SetUpfrontPrice sets the UpfrontPrice field's value.
  51572. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  51573. s.UpfrontPrice = &v
  51574. return s
  51575. }
  51576. // Describes properties of a Dedicated Host.
  51577. type HostProperties struct {
  51578. _ struct{} `type:"structure"`
  51579. // The number of cores on the Dedicated Host.
  51580. Cores *int64 `locationName:"cores" type:"integer"`
  51581. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  51582. InstanceType *string `locationName:"instanceType" type:"string"`
  51583. // The number of sockets on the Dedicated Host.
  51584. Sockets *int64 `locationName:"sockets" type:"integer"`
  51585. // The number of vCPUs on the Dedicated Host.
  51586. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  51587. }
  51588. // String returns the string representation
  51589. func (s HostProperties) String() string {
  51590. return awsutil.Prettify(s)
  51591. }
  51592. // GoString returns the string representation
  51593. func (s HostProperties) GoString() string {
  51594. return s.String()
  51595. }
  51596. // SetCores sets the Cores field's value.
  51597. func (s *HostProperties) SetCores(v int64) *HostProperties {
  51598. s.Cores = &v
  51599. return s
  51600. }
  51601. // SetInstanceType sets the InstanceType field's value.
  51602. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  51603. s.InstanceType = &v
  51604. return s
  51605. }
  51606. // SetSockets sets the Sockets field's value.
  51607. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  51608. s.Sockets = &v
  51609. return s
  51610. }
  51611. // SetTotalVCpus sets the TotalVCpus field's value.
  51612. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  51613. s.TotalVCpus = &v
  51614. return s
  51615. }
  51616. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  51617. type HostReservation struct {
  51618. _ struct{} `type:"structure"`
  51619. // The number of Dedicated Hosts the reservation is associated with.
  51620. Count *int64 `locationName:"count" type:"integer"`
  51621. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  51622. // At this time, the only supported currency is USD.
  51623. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  51624. // The length of the reservation's term, specified in seconds. Can be 31536000
  51625. // (1 year) | 94608000 (3 years).
  51626. Duration *int64 `locationName:"duration" type:"integer"`
  51627. // The date and time that the reservation ends.
  51628. End *time.Time `locationName:"end" type:"timestamp"`
  51629. // The IDs of the Dedicated Hosts associated with the reservation.
  51630. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  51631. // The ID of the reservation that specifies the associated Dedicated Hosts.
  51632. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  51633. // The hourly price of the reservation.
  51634. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  51635. // The instance family of the Dedicated Host Reservation. The instance family
  51636. // on the Dedicated Host must be the same in order for it to benefit from the
  51637. // reservation.
  51638. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  51639. // The ID of the reservation. This remains the same regardless of which Dedicated
  51640. // Hosts are associated with it.
  51641. OfferingId *string `locationName:"offeringId" type:"string"`
  51642. // The payment option selected for this reservation.
  51643. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  51644. // The date and time that the reservation started.
  51645. Start *time.Time `locationName:"start" type:"timestamp"`
  51646. // The state of the reservation.
  51647. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  51648. // Any tags assigned to the Dedicated Host Reservation.
  51649. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  51650. // The upfront price of the reservation.
  51651. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  51652. }
  51653. // String returns the string representation
  51654. func (s HostReservation) String() string {
  51655. return awsutil.Prettify(s)
  51656. }
  51657. // GoString returns the string representation
  51658. func (s HostReservation) GoString() string {
  51659. return s.String()
  51660. }
  51661. // SetCount sets the Count field's value.
  51662. func (s *HostReservation) SetCount(v int64) *HostReservation {
  51663. s.Count = &v
  51664. return s
  51665. }
  51666. // SetCurrencyCode sets the CurrencyCode field's value.
  51667. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  51668. s.CurrencyCode = &v
  51669. return s
  51670. }
  51671. // SetDuration sets the Duration field's value.
  51672. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  51673. s.Duration = &v
  51674. return s
  51675. }
  51676. // SetEnd sets the End field's value.
  51677. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  51678. s.End = &v
  51679. return s
  51680. }
  51681. // SetHostIdSet sets the HostIdSet field's value.
  51682. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  51683. s.HostIdSet = v
  51684. return s
  51685. }
  51686. // SetHostReservationId sets the HostReservationId field's value.
  51687. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  51688. s.HostReservationId = &v
  51689. return s
  51690. }
  51691. // SetHourlyPrice sets the HourlyPrice field's value.
  51692. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  51693. s.HourlyPrice = &v
  51694. return s
  51695. }
  51696. // SetInstanceFamily sets the InstanceFamily field's value.
  51697. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  51698. s.InstanceFamily = &v
  51699. return s
  51700. }
  51701. // SetOfferingId sets the OfferingId field's value.
  51702. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  51703. s.OfferingId = &v
  51704. return s
  51705. }
  51706. // SetPaymentOption sets the PaymentOption field's value.
  51707. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  51708. s.PaymentOption = &v
  51709. return s
  51710. }
  51711. // SetStart sets the Start field's value.
  51712. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  51713. s.Start = &v
  51714. return s
  51715. }
  51716. // SetState sets the State field's value.
  51717. func (s *HostReservation) SetState(v string) *HostReservation {
  51718. s.State = &v
  51719. return s
  51720. }
  51721. // SetTags sets the Tags field's value.
  51722. func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
  51723. s.Tags = v
  51724. return s
  51725. }
  51726. // SetUpfrontPrice sets the UpfrontPrice field's value.
  51727. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  51728. s.UpfrontPrice = &v
  51729. return s
  51730. }
  51731. // Describes an IAM instance profile.
  51732. type IamInstanceProfile struct {
  51733. _ struct{} `type:"structure"`
  51734. // The Amazon Resource Name (ARN) of the instance profile.
  51735. Arn *string `locationName:"arn" type:"string"`
  51736. // The ID of the instance profile.
  51737. Id *string `locationName:"id" type:"string"`
  51738. }
  51739. // String returns the string representation
  51740. func (s IamInstanceProfile) String() string {
  51741. return awsutil.Prettify(s)
  51742. }
  51743. // GoString returns the string representation
  51744. func (s IamInstanceProfile) GoString() string {
  51745. return s.String()
  51746. }
  51747. // SetArn sets the Arn field's value.
  51748. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  51749. s.Arn = &v
  51750. return s
  51751. }
  51752. // SetId sets the Id field's value.
  51753. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  51754. s.Id = &v
  51755. return s
  51756. }
  51757. // Describes an association between an IAM instance profile and an instance.
  51758. type IamInstanceProfileAssociation struct {
  51759. _ struct{} `type:"structure"`
  51760. // The ID of the association.
  51761. AssociationId *string `locationName:"associationId" type:"string"`
  51762. // The IAM instance profile.
  51763. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  51764. // The ID of the instance.
  51765. InstanceId *string `locationName:"instanceId" type:"string"`
  51766. // The state of the association.
  51767. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  51768. // The time the IAM instance profile was associated with the instance.
  51769. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  51770. }
  51771. // String returns the string representation
  51772. func (s IamInstanceProfileAssociation) String() string {
  51773. return awsutil.Prettify(s)
  51774. }
  51775. // GoString returns the string representation
  51776. func (s IamInstanceProfileAssociation) GoString() string {
  51777. return s.String()
  51778. }
  51779. // SetAssociationId sets the AssociationId field's value.
  51780. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  51781. s.AssociationId = &v
  51782. return s
  51783. }
  51784. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  51785. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  51786. s.IamInstanceProfile = v
  51787. return s
  51788. }
  51789. // SetInstanceId sets the InstanceId field's value.
  51790. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  51791. s.InstanceId = &v
  51792. return s
  51793. }
  51794. // SetState sets the State field's value.
  51795. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  51796. s.State = &v
  51797. return s
  51798. }
  51799. // SetTimestamp sets the Timestamp field's value.
  51800. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  51801. s.Timestamp = &v
  51802. return s
  51803. }
  51804. // Describes an IAM instance profile.
  51805. type IamInstanceProfileSpecification struct {
  51806. _ struct{} `type:"structure"`
  51807. // The Amazon Resource Name (ARN) of the instance profile.
  51808. Arn *string `locationName:"arn" type:"string"`
  51809. // The name of the instance profile.
  51810. Name *string `locationName:"name" type:"string"`
  51811. }
  51812. // String returns the string representation
  51813. func (s IamInstanceProfileSpecification) String() string {
  51814. return awsutil.Prettify(s)
  51815. }
  51816. // GoString returns the string representation
  51817. func (s IamInstanceProfileSpecification) GoString() string {
  51818. return s.String()
  51819. }
  51820. // SetArn sets the Arn field's value.
  51821. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  51822. s.Arn = &v
  51823. return s
  51824. }
  51825. // SetName sets the Name field's value.
  51826. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  51827. s.Name = &v
  51828. return s
  51829. }
  51830. // Describes the ICMP type and code.
  51831. type IcmpTypeCode struct {
  51832. _ struct{} `type:"structure"`
  51833. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  51834. Code *int64 `locationName:"code" type:"integer"`
  51835. // The ICMP type. A value of -1 means all types.
  51836. Type *int64 `locationName:"type" type:"integer"`
  51837. }
  51838. // String returns the string representation
  51839. func (s IcmpTypeCode) String() string {
  51840. return awsutil.Prettify(s)
  51841. }
  51842. // GoString returns the string representation
  51843. func (s IcmpTypeCode) GoString() string {
  51844. return s.String()
  51845. }
  51846. // SetCode sets the Code field's value.
  51847. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  51848. s.Code = &v
  51849. return s
  51850. }
  51851. // SetType sets the Type field's value.
  51852. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  51853. s.Type = &v
  51854. return s
  51855. }
  51856. // Describes the ID format for a resource.
  51857. type IdFormat struct {
  51858. _ struct{} `type:"structure"`
  51859. // The date in UTC at which you are permanently switched over to using longer
  51860. // IDs. If a deadline is not yet available for this resource type, this field
  51861. // is not returned.
  51862. Deadline *time.Time `locationName:"deadline" type:"timestamp"`
  51863. // The type of resource.
  51864. Resource *string `locationName:"resource" type:"string"`
  51865. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  51866. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  51867. }
  51868. // String returns the string representation
  51869. func (s IdFormat) String() string {
  51870. return awsutil.Prettify(s)
  51871. }
  51872. // GoString returns the string representation
  51873. func (s IdFormat) GoString() string {
  51874. return s.String()
  51875. }
  51876. // SetDeadline sets the Deadline field's value.
  51877. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  51878. s.Deadline = &v
  51879. return s
  51880. }
  51881. // SetResource sets the Resource field's value.
  51882. func (s *IdFormat) SetResource(v string) *IdFormat {
  51883. s.Resource = &v
  51884. return s
  51885. }
  51886. // SetUseLongIds sets the UseLongIds field's value.
  51887. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  51888. s.UseLongIds = &v
  51889. return s
  51890. }
  51891. // Describes an image.
  51892. type Image struct {
  51893. _ struct{} `type:"structure"`
  51894. // The architecture of the image.
  51895. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  51896. // Any block device mapping entries.
  51897. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  51898. // The date and time the image was created.
  51899. CreationDate *string `locationName:"creationDate" type:"string"`
  51900. // The description of the AMI that was provided during image creation.
  51901. Description *string `locationName:"description" type:"string"`
  51902. // Specifies whether enhanced networking with ENA is enabled.
  51903. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  51904. // The hypervisor type of the image.
  51905. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  51906. // The ID of the AMI.
  51907. ImageId *string `locationName:"imageId" type:"string"`
  51908. // The location of the AMI.
  51909. ImageLocation *string `locationName:"imageLocation" type:"string"`
  51910. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  51911. // the AMI owner.
  51912. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  51913. // The type of image.
  51914. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  51915. // The kernel associated with the image, if any. Only applicable for machine
  51916. // images.
  51917. KernelId *string `locationName:"kernelId" type:"string"`
  51918. // The name of the AMI that was provided during image creation.
  51919. Name *string `locationName:"name" type:"string"`
  51920. // The AWS account ID of the image owner.
  51921. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  51922. // The value is Windows for Windows AMIs; otherwise blank.
  51923. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  51924. // Any product codes associated with the AMI.
  51925. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  51926. // Indicates whether the image has public launch permissions. The value is true
  51927. // if this image has public launch permissions or false if it has only implicit
  51928. // and explicit launch permissions.
  51929. Public *bool `locationName:"isPublic" type:"boolean"`
  51930. // The RAM disk associated with the image, if any. Only applicable for machine
  51931. // images.
  51932. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  51933. // The device name of the root device volume (for example, /dev/sda1).
  51934. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  51935. // The type of root device used by the AMI. The AMI can use an EBS volume or
  51936. // an instance store volume.
  51937. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  51938. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  51939. // interface is enabled.
  51940. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  51941. // The current state of the AMI. If the state is available, the image is successfully
  51942. // registered and can be used to launch an instance.
  51943. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  51944. // The reason for the state change.
  51945. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  51946. // Any tags assigned to the image.
  51947. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  51948. // The type of virtualization of the AMI.
  51949. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  51950. }
  51951. // String returns the string representation
  51952. func (s Image) String() string {
  51953. return awsutil.Prettify(s)
  51954. }
  51955. // GoString returns the string representation
  51956. func (s Image) GoString() string {
  51957. return s.String()
  51958. }
  51959. // SetArchitecture sets the Architecture field's value.
  51960. func (s *Image) SetArchitecture(v string) *Image {
  51961. s.Architecture = &v
  51962. return s
  51963. }
  51964. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  51965. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  51966. s.BlockDeviceMappings = v
  51967. return s
  51968. }
  51969. // SetCreationDate sets the CreationDate field's value.
  51970. func (s *Image) SetCreationDate(v string) *Image {
  51971. s.CreationDate = &v
  51972. return s
  51973. }
  51974. // SetDescription sets the Description field's value.
  51975. func (s *Image) SetDescription(v string) *Image {
  51976. s.Description = &v
  51977. return s
  51978. }
  51979. // SetEnaSupport sets the EnaSupport field's value.
  51980. func (s *Image) SetEnaSupport(v bool) *Image {
  51981. s.EnaSupport = &v
  51982. return s
  51983. }
  51984. // SetHypervisor sets the Hypervisor field's value.
  51985. func (s *Image) SetHypervisor(v string) *Image {
  51986. s.Hypervisor = &v
  51987. return s
  51988. }
  51989. // SetImageId sets the ImageId field's value.
  51990. func (s *Image) SetImageId(v string) *Image {
  51991. s.ImageId = &v
  51992. return s
  51993. }
  51994. // SetImageLocation sets the ImageLocation field's value.
  51995. func (s *Image) SetImageLocation(v string) *Image {
  51996. s.ImageLocation = &v
  51997. return s
  51998. }
  51999. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  52000. func (s *Image) SetImageOwnerAlias(v string) *Image {
  52001. s.ImageOwnerAlias = &v
  52002. return s
  52003. }
  52004. // SetImageType sets the ImageType field's value.
  52005. func (s *Image) SetImageType(v string) *Image {
  52006. s.ImageType = &v
  52007. return s
  52008. }
  52009. // SetKernelId sets the KernelId field's value.
  52010. func (s *Image) SetKernelId(v string) *Image {
  52011. s.KernelId = &v
  52012. return s
  52013. }
  52014. // SetName sets the Name field's value.
  52015. func (s *Image) SetName(v string) *Image {
  52016. s.Name = &v
  52017. return s
  52018. }
  52019. // SetOwnerId sets the OwnerId field's value.
  52020. func (s *Image) SetOwnerId(v string) *Image {
  52021. s.OwnerId = &v
  52022. return s
  52023. }
  52024. // SetPlatform sets the Platform field's value.
  52025. func (s *Image) SetPlatform(v string) *Image {
  52026. s.Platform = &v
  52027. return s
  52028. }
  52029. // SetProductCodes sets the ProductCodes field's value.
  52030. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  52031. s.ProductCodes = v
  52032. return s
  52033. }
  52034. // SetPublic sets the Public field's value.
  52035. func (s *Image) SetPublic(v bool) *Image {
  52036. s.Public = &v
  52037. return s
  52038. }
  52039. // SetRamdiskId sets the RamdiskId field's value.
  52040. func (s *Image) SetRamdiskId(v string) *Image {
  52041. s.RamdiskId = &v
  52042. return s
  52043. }
  52044. // SetRootDeviceName sets the RootDeviceName field's value.
  52045. func (s *Image) SetRootDeviceName(v string) *Image {
  52046. s.RootDeviceName = &v
  52047. return s
  52048. }
  52049. // SetRootDeviceType sets the RootDeviceType field's value.
  52050. func (s *Image) SetRootDeviceType(v string) *Image {
  52051. s.RootDeviceType = &v
  52052. return s
  52053. }
  52054. // SetSriovNetSupport sets the SriovNetSupport field's value.
  52055. func (s *Image) SetSriovNetSupport(v string) *Image {
  52056. s.SriovNetSupport = &v
  52057. return s
  52058. }
  52059. // SetState sets the State field's value.
  52060. func (s *Image) SetState(v string) *Image {
  52061. s.State = &v
  52062. return s
  52063. }
  52064. // SetStateReason sets the StateReason field's value.
  52065. func (s *Image) SetStateReason(v *StateReason) *Image {
  52066. s.StateReason = v
  52067. return s
  52068. }
  52069. // SetTags sets the Tags field's value.
  52070. func (s *Image) SetTags(v []*Tag) *Image {
  52071. s.Tags = v
  52072. return s
  52073. }
  52074. // SetVirtualizationType sets the VirtualizationType field's value.
  52075. func (s *Image) SetVirtualizationType(v string) *Image {
  52076. s.VirtualizationType = &v
  52077. return s
  52078. }
  52079. // Describes the disk container object for an import image task.
  52080. type ImageDiskContainer struct {
  52081. _ struct{} `type:"structure"`
  52082. // The description of the disk image.
  52083. Description *string `type:"string"`
  52084. // The block device mapping for the disk.
  52085. DeviceName *string `type:"string"`
  52086. // The format of the disk image being imported.
  52087. //
  52088. // Valid values: VHD | VMDK | OVA
  52089. Format *string `type:"string"`
  52090. // The ID of the EBS snapshot to be used for importing the snapshot.
  52091. SnapshotId *string `type:"string"`
  52092. // The URL to the Amazon S3-based disk image being imported. The URL can either
  52093. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  52094. Url *string `type:"string"`
  52095. // The S3 bucket for the disk image.
  52096. UserBucket *UserBucket `type:"structure"`
  52097. }
  52098. // String returns the string representation
  52099. func (s ImageDiskContainer) String() string {
  52100. return awsutil.Prettify(s)
  52101. }
  52102. // GoString returns the string representation
  52103. func (s ImageDiskContainer) GoString() string {
  52104. return s.String()
  52105. }
  52106. // SetDescription sets the Description field's value.
  52107. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  52108. s.Description = &v
  52109. return s
  52110. }
  52111. // SetDeviceName sets the DeviceName field's value.
  52112. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  52113. s.DeviceName = &v
  52114. return s
  52115. }
  52116. // SetFormat sets the Format field's value.
  52117. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  52118. s.Format = &v
  52119. return s
  52120. }
  52121. // SetSnapshotId sets the SnapshotId field's value.
  52122. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  52123. s.SnapshotId = &v
  52124. return s
  52125. }
  52126. // SetUrl sets the Url field's value.
  52127. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  52128. s.Url = &v
  52129. return s
  52130. }
  52131. // SetUserBucket sets the UserBucket field's value.
  52132. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  52133. s.UserBucket = v
  52134. return s
  52135. }
  52136. type ImportClientVpnClientCertificateRevocationListInput struct {
  52137. _ struct{} `type:"structure"`
  52138. // The client certificate revocation list file. For more information, see Generate
  52139. // a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
  52140. // in the AWS Client VPN Administrator Guide.
  52141. //
  52142. // CertificateRevocationList is a required field
  52143. CertificateRevocationList *string `type:"string" required:"true"`
  52144. // The ID of the Client VPN endpoint to which the client certificate revocation
  52145. // list applies.
  52146. //
  52147. // ClientVpnEndpointId is a required field
  52148. ClientVpnEndpointId *string `type:"string" required:"true"`
  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 `type:"boolean"`
  52154. }
  52155. // String returns the string representation
  52156. func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
  52157. return awsutil.Prettify(s)
  52158. }
  52159. // GoString returns the string representation
  52160. func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
  52161. return s.String()
  52162. }
  52163. // Validate inspects the fields of the type to determine if they are valid.
  52164. func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
  52165. invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
  52166. if s.CertificateRevocationList == nil {
  52167. invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
  52168. }
  52169. if s.ClientVpnEndpointId == nil {
  52170. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  52171. }
  52172. if invalidParams.Len() > 0 {
  52173. return invalidParams
  52174. }
  52175. return nil
  52176. }
  52177. // SetCertificateRevocationList sets the CertificateRevocationList field's value.
  52178. func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
  52179. s.CertificateRevocationList = &v
  52180. return s
  52181. }
  52182. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  52183. func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
  52184. s.ClientVpnEndpointId = &v
  52185. return s
  52186. }
  52187. // SetDryRun sets the DryRun field's value.
  52188. func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
  52189. s.DryRun = &v
  52190. return s
  52191. }
  52192. type ImportClientVpnClientCertificateRevocationListOutput struct {
  52193. _ struct{} `type:"structure"`
  52194. // Returns true if the request succeeds; otherwise, it returns an error.
  52195. Return *bool `locationName:"return" type:"boolean"`
  52196. }
  52197. // String returns the string representation
  52198. func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
  52199. return awsutil.Prettify(s)
  52200. }
  52201. // GoString returns the string representation
  52202. func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
  52203. return s.String()
  52204. }
  52205. // SetReturn sets the Return field's value.
  52206. func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
  52207. s.Return = &v
  52208. return s
  52209. }
  52210. // Contains the parameters for ImportImage.
  52211. type ImportImageInput struct {
  52212. _ struct{} `type:"structure"`
  52213. // The architecture of the virtual machine.
  52214. //
  52215. // Valid values: i386 | x86_64
  52216. Architecture *string `type:"string"`
  52217. // The client-specific data.
  52218. ClientData *ClientData `type:"structure"`
  52219. // The token to enable idempotency for VM import requests.
  52220. ClientToken *string `type:"string"`
  52221. // A description string for the import image task.
  52222. Description *string `type:"string"`
  52223. // Information about the disk containers.
  52224. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  52225. // Checks whether you have the required permissions for the action, without
  52226. // actually making the request, and provides an error response. If you have
  52227. // the required permissions, the error response is DryRunOperation. Otherwise,
  52228. // it is UnauthorizedOperation.
  52229. DryRun *bool `type:"boolean"`
  52230. // Specifies whether the destination AMI of the imported image should be encrypted.
  52231. // The default CMK for EBS is used unless you specify a non-default AWS Key
  52232. // Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
  52233. // Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  52234. // in the Amazon Elastic Compute Cloud User Guide.
  52235. Encrypted *bool `type:"boolean"`
  52236. // The target hypervisor platform.
  52237. //
  52238. // Valid values: xen
  52239. Hypervisor *string `type:"string"`
  52240. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  52241. // key (CMK) to use when creating the encrypted AMI. This parameter is only
  52242. // required if you want to use a non-default CMK; if this parameter is not specified,
  52243. // the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
  52244. // flag must also be set.
  52245. //
  52246. // The CMK identifier may be provided in any of the following formats:
  52247. //
  52248. // * Key ID
  52249. //
  52250. // * Key alias, in the form alias/ExampleAlias
  52251. //
  52252. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  52253. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  52254. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  52255. //
  52256. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  52257. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  52258. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  52259. //
  52260. //
  52261. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  52262. // appear to complete even though you provided an invalid identifier. This action
  52263. // will eventually report failure.
  52264. //
  52265. // The specified CMK must exist in the region that the AMI is being copied to.
  52266. KmsKeyId *string `type:"string"`
  52267. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  52268. //
  52269. // Note: You may only use BYOL if you have existing licenses with rights to
  52270. // use these licenses in a third party cloud like AWS. For more information,
  52271. // see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  52272. // in the VM Import/Export User Guide.
  52273. //
  52274. // Valid values include:
  52275. //
  52276. // * Auto - Detects the source-system operating system (OS) and applies the
  52277. // appropriate license.
  52278. //
  52279. // * AWS - Replaces the source-system license with an AWS license, if appropriate.
  52280. //
  52281. // * BYOL - Retains the source-system license, if appropriate.
  52282. //
  52283. // Default value: Auto
  52284. LicenseType *string `type:"string"`
  52285. // The operating system of the virtual machine.
  52286. //
  52287. // Valid values: Windows | Linux
  52288. Platform *string `type:"string"`
  52289. // The name of the role to use when not using the default role, 'vmimport'.
  52290. RoleName *string `type:"string"`
  52291. }
  52292. // String returns the string representation
  52293. func (s ImportImageInput) String() string {
  52294. return awsutil.Prettify(s)
  52295. }
  52296. // GoString returns the string representation
  52297. func (s ImportImageInput) GoString() string {
  52298. return s.String()
  52299. }
  52300. // SetArchitecture sets the Architecture field's value.
  52301. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  52302. s.Architecture = &v
  52303. return s
  52304. }
  52305. // SetClientData sets the ClientData field's value.
  52306. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  52307. s.ClientData = v
  52308. return s
  52309. }
  52310. // SetClientToken sets the ClientToken field's value.
  52311. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  52312. s.ClientToken = &v
  52313. return s
  52314. }
  52315. // SetDescription sets the Description field's value.
  52316. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  52317. s.Description = &v
  52318. return s
  52319. }
  52320. // SetDiskContainers sets the DiskContainers field's value.
  52321. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  52322. s.DiskContainers = v
  52323. return s
  52324. }
  52325. // SetDryRun sets the DryRun field's value.
  52326. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  52327. s.DryRun = &v
  52328. return s
  52329. }
  52330. // SetEncrypted sets the Encrypted field's value.
  52331. func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
  52332. s.Encrypted = &v
  52333. return s
  52334. }
  52335. // SetHypervisor sets the Hypervisor field's value.
  52336. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  52337. s.Hypervisor = &v
  52338. return s
  52339. }
  52340. // SetKmsKeyId sets the KmsKeyId field's value.
  52341. func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
  52342. s.KmsKeyId = &v
  52343. return s
  52344. }
  52345. // SetLicenseType sets the LicenseType field's value.
  52346. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  52347. s.LicenseType = &v
  52348. return s
  52349. }
  52350. // SetPlatform sets the Platform field's value.
  52351. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  52352. s.Platform = &v
  52353. return s
  52354. }
  52355. // SetRoleName sets the RoleName field's value.
  52356. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  52357. s.RoleName = &v
  52358. return s
  52359. }
  52360. // Contains the output for ImportImage.
  52361. type ImportImageOutput struct {
  52362. _ struct{} `type:"structure"`
  52363. // The architecture of the virtual machine.
  52364. Architecture *string `locationName:"architecture" type:"string"`
  52365. // A description of the import task.
  52366. Description *string `locationName:"description" type:"string"`
  52367. // Indicates whether the AMI is encypted.
  52368. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  52369. // The target hypervisor of the import task.
  52370. Hypervisor *string `locationName:"hypervisor" type:"string"`
  52371. // The ID of the Amazon Machine Image (AMI) created by the import task.
  52372. ImageId *string `locationName:"imageId" type:"string"`
  52373. // The task ID of the import image task.
  52374. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  52375. // The identifier for the AWS Key Management Service (AWS KMS) customer master
  52376. // key (CMK) that was used to create the encrypted AMI.
  52377. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  52378. // The license type of the virtual machine.
  52379. LicenseType *string `locationName:"licenseType" type:"string"`
  52380. // The operating system of the virtual machine.
  52381. Platform *string `locationName:"platform" type:"string"`
  52382. // The progress of the task.
  52383. Progress *string `locationName:"progress" type:"string"`
  52384. // Information about the snapshots.
  52385. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  52386. // A brief status of the task.
  52387. Status *string `locationName:"status" type:"string"`
  52388. // A detailed status message of the import task.
  52389. StatusMessage *string `locationName:"statusMessage" type:"string"`
  52390. }
  52391. // String returns the string representation
  52392. func (s ImportImageOutput) String() string {
  52393. return awsutil.Prettify(s)
  52394. }
  52395. // GoString returns the string representation
  52396. func (s ImportImageOutput) GoString() string {
  52397. return s.String()
  52398. }
  52399. // SetArchitecture sets the Architecture field's value.
  52400. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  52401. s.Architecture = &v
  52402. return s
  52403. }
  52404. // SetDescription sets the Description field's value.
  52405. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  52406. s.Description = &v
  52407. return s
  52408. }
  52409. // SetEncrypted sets the Encrypted field's value.
  52410. func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
  52411. s.Encrypted = &v
  52412. return s
  52413. }
  52414. // SetHypervisor sets the Hypervisor field's value.
  52415. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  52416. s.Hypervisor = &v
  52417. return s
  52418. }
  52419. // SetImageId sets the ImageId field's value.
  52420. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  52421. s.ImageId = &v
  52422. return s
  52423. }
  52424. // SetImportTaskId sets the ImportTaskId field's value.
  52425. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  52426. s.ImportTaskId = &v
  52427. return s
  52428. }
  52429. // SetKmsKeyId sets the KmsKeyId field's value.
  52430. func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
  52431. s.KmsKeyId = &v
  52432. return s
  52433. }
  52434. // SetLicenseType sets the LicenseType field's value.
  52435. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  52436. s.LicenseType = &v
  52437. return s
  52438. }
  52439. // SetPlatform sets the Platform field's value.
  52440. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  52441. s.Platform = &v
  52442. return s
  52443. }
  52444. // SetProgress sets the Progress field's value.
  52445. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  52446. s.Progress = &v
  52447. return s
  52448. }
  52449. // SetSnapshotDetails sets the SnapshotDetails field's value.
  52450. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  52451. s.SnapshotDetails = v
  52452. return s
  52453. }
  52454. // SetStatus sets the Status field's value.
  52455. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  52456. s.Status = &v
  52457. return s
  52458. }
  52459. // SetStatusMessage sets the StatusMessage field's value.
  52460. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  52461. s.StatusMessage = &v
  52462. return s
  52463. }
  52464. // Describes an import image task.
  52465. type ImportImageTask struct {
  52466. _ struct{} `type:"structure"`
  52467. // The architecture of the virtual machine.
  52468. //
  52469. // Valid values: i386 | x86_64
  52470. Architecture *string `locationName:"architecture" type:"string"`
  52471. // A description of the import task.
  52472. Description *string `locationName:"description" type:"string"`
  52473. // Indicates whether the image is encrypted.
  52474. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  52475. // The target hypervisor for the import task.
  52476. //
  52477. // Valid values: xen
  52478. Hypervisor *string `locationName:"hypervisor" type:"string"`
  52479. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  52480. ImageId *string `locationName:"imageId" type:"string"`
  52481. // The ID of the import image task.
  52482. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  52483. // The identifier for the AWS Key Management Service (AWS KMS) customer master
  52484. // key (CMK) that was used to create the encrypted image.
  52485. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  52486. // The license type of the virtual machine.
  52487. LicenseType *string `locationName:"licenseType" type:"string"`
  52488. // The description string for the import image task.
  52489. Platform *string `locationName:"platform" type:"string"`
  52490. // The percentage of progress of the import image task.
  52491. Progress *string `locationName:"progress" type:"string"`
  52492. // Information about the snapshots.
  52493. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  52494. // A brief status for the import image task.
  52495. Status *string `locationName:"status" type:"string"`
  52496. // A descriptive status message for the import image task.
  52497. StatusMessage *string `locationName:"statusMessage" type:"string"`
  52498. }
  52499. // String returns the string representation
  52500. func (s ImportImageTask) String() string {
  52501. return awsutil.Prettify(s)
  52502. }
  52503. // GoString returns the string representation
  52504. func (s ImportImageTask) GoString() string {
  52505. return s.String()
  52506. }
  52507. // SetArchitecture sets the Architecture field's value.
  52508. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  52509. s.Architecture = &v
  52510. return s
  52511. }
  52512. // SetDescription sets the Description field's value.
  52513. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  52514. s.Description = &v
  52515. return s
  52516. }
  52517. // SetEncrypted sets the Encrypted field's value.
  52518. func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
  52519. s.Encrypted = &v
  52520. return s
  52521. }
  52522. // SetHypervisor sets the Hypervisor field's value.
  52523. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  52524. s.Hypervisor = &v
  52525. return s
  52526. }
  52527. // SetImageId sets the ImageId field's value.
  52528. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  52529. s.ImageId = &v
  52530. return s
  52531. }
  52532. // SetImportTaskId sets the ImportTaskId field's value.
  52533. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  52534. s.ImportTaskId = &v
  52535. return s
  52536. }
  52537. // SetKmsKeyId sets the KmsKeyId field's value.
  52538. func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
  52539. s.KmsKeyId = &v
  52540. return s
  52541. }
  52542. // SetLicenseType sets the LicenseType field's value.
  52543. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  52544. s.LicenseType = &v
  52545. return s
  52546. }
  52547. // SetPlatform sets the Platform field's value.
  52548. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  52549. s.Platform = &v
  52550. return s
  52551. }
  52552. // SetProgress sets the Progress field's value.
  52553. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  52554. s.Progress = &v
  52555. return s
  52556. }
  52557. // SetSnapshotDetails sets the SnapshotDetails field's value.
  52558. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  52559. s.SnapshotDetails = v
  52560. return s
  52561. }
  52562. // SetStatus sets the Status field's value.
  52563. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  52564. s.Status = &v
  52565. return s
  52566. }
  52567. // SetStatusMessage sets the StatusMessage field's value.
  52568. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  52569. s.StatusMessage = &v
  52570. return s
  52571. }
  52572. // Contains the parameters for ImportInstance.
  52573. type ImportInstanceInput struct {
  52574. _ struct{} `type:"structure"`
  52575. // A description for the instance being imported.
  52576. Description *string `locationName:"description" type:"string"`
  52577. // The disk image.
  52578. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  52579. // Checks whether you have the required permissions for the action, without
  52580. // actually making the request, and provides an error response. If you have
  52581. // the required permissions, the error response is DryRunOperation. Otherwise,
  52582. // it is UnauthorizedOperation.
  52583. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52584. // The launch specification.
  52585. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  52586. // The instance operating system.
  52587. //
  52588. // Platform is a required field
  52589. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  52590. }
  52591. // String returns the string representation
  52592. func (s ImportInstanceInput) String() string {
  52593. return awsutil.Prettify(s)
  52594. }
  52595. // GoString returns the string representation
  52596. func (s ImportInstanceInput) GoString() string {
  52597. return s.String()
  52598. }
  52599. // Validate inspects the fields of the type to determine if they are valid.
  52600. func (s *ImportInstanceInput) Validate() error {
  52601. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  52602. if s.Platform == nil {
  52603. invalidParams.Add(request.NewErrParamRequired("Platform"))
  52604. }
  52605. if s.DiskImages != nil {
  52606. for i, v := range s.DiskImages {
  52607. if v == nil {
  52608. continue
  52609. }
  52610. if err := v.Validate(); err != nil {
  52611. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  52612. }
  52613. }
  52614. }
  52615. if invalidParams.Len() > 0 {
  52616. return invalidParams
  52617. }
  52618. return nil
  52619. }
  52620. // SetDescription sets the Description field's value.
  52621. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  52622. s.Description = &v
  52623. return s
  52624. }
  52625. // SetDiskImages sets the DiskImages field's value.
  52626. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  52627. s.DiskImages = v
  52628. return s
  52629. }
  52630. // SetDryRun sets the DryRun field's value.
  52631. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  52632. s.DryRun = &v
  52633. return s
  52634. }
  52635. // SetLaunchSpecification sets the LaunchSpecification field's value.
  52636. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  52637. s.LaunchSpecification = v
  52638. return s
  52639. }
  52640. // SetPlatform sets the Platform field's value.
  52641. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  52642. s.Platform = &v
  52643. return s
  52644. }
  52645. // Describes the launch specification for VM import.
  52646. type ImportInstanceLaunchSpecification struct {
  52647. _ struct{} `type:"structure"`
  52648. // Reserved.
  52649. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  52650. // The architecture of the instance.
  52651. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  52652. // One or more security group IDs.
  52653. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  52654. // One or more security group names.
  52655. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  52656. // Indicates whether an instance stops or terminates when you initiate shutdown
  52657. // from the instance (using the operating system command for system shutdown).
  52658. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  52659. // The instance type. For more information about the instance types that you
  52660. // can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
  52661. // in the VM Import/Export User Guide.
  52662. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  52663. // Indicates whether monitoring is enabled.
  52664. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  52665. // The placement information for the instance.
  52666. Placement *Placement `locationName:"placement" type:"structure"`
  52667. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  52668. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  52669. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  52670. SubnetId *string `locationName:"subnetId" type:"string"`
  52671. // The Base64-encoded user data to make available to the instance.
  52672. UserData *UserData `locationName:"userData" type:"structure"`
  52673. }
  52674. // String returns the string representation
  52675. func (s ImportInstanceLaunchSpecification) String() string {
  52676. return awsutil.Prettify(s)
  52677. }
  52678. // GoString returns the string representation
  52679. func (s ImportInstanceLaunchSpecification) GoString() string {
  52680. return s.String()
  52681. }
  52682. // SetAdditionalInfo sets the AdditionalInfo field's value.
  52683. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  52684. s.AdditionalInfo = &v
  52685. return s
  52686. }
  52687. // SetArchitecture sets the Architecture field's value.
  52688. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  52689. s.Architecture = &v
  52690. return s
  52691. }
  52692. // SetGroupIds sets the GroupIds field's value.
  52693. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  52694. s.GroupIds = v
  52695. return s
  52696. }
  52697. // SetGroupNames sets the GroupNames field's value.
  52698. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  52699. s.GroupNames = v
  52700. return s
  52701. }
  52702. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  52703. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  52704. s.InstanceInitiatedShutdownBehavior = &v
  52705. return s
  52706. }
  52707. // SetInstanceType sets the InstanceType field's value.
  52708. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  52709. s.InstanceType = &v
  52710. return s
  52711. }
  52712. // SetMonitoring sets the Monitoring field's value.
  52713. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  52714. s.Monitoring = &v
  52715. return s
  52716. }
  52717. // SetPlacement sets the Placement field's value.
  52718. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  52719. s.Placement = v
  52720. return s
  52721. }
  52722. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  52723. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  52724. s.PrivateIpAddress = &v
  52725. return s
  52726. }
  52727. // SetSubnetId sets the SubnetId field's value.
  52728. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  52729. s.SubnetId = &v
  52730. return s
  52731. }
  52732. // SetUserData sets the UserData field's value.
  52733. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  52734. s.UserData = v
  52735. return s
  52736. }
  52737. // Contains the output for ImportInstance.
  52738. type ImportInstanceOutput struct {
  52739. _ struct{} `type:"structure"`
  52740. // Information about the conversion task.
  52741. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  52742. }
  52743. // String returns the string representation
  52744. func (s ImportInstanceOutput) String() string {
  52745. return awsutil.Prettify(s)
  52746. }
  52747. // GoString returns the string representation
  52748. func (s ImportInstanceOutput) GoString() string {
  52749. return s.String()
  52750. }
  52751. // SetConversionTask sets the ConversionTask field's value.
  52752. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  52753. s.ConversionTask = v
  52754. return s
  52755. }
  52756. // Describes an import instance task.
  52757. type ImportInstanceTaskDetails struct {
  52758. _ struct{} `type:"structure"`
  52759. // A description of the task.
  52760. Description *string `locationName:"description" type:"string"`
  52761. // The ID of the instance.
  52762. InstanceId *string `locationName:"instanceId" type:"string"`
  52763. // The instance operating system.
  52764. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  52765. // One or more volumes.
  52766. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
  52767. }
  52768. // String returns the string representation
  52769. func (s ImportInstanceTaskDetails) String() string {
  52770. return awsutil.Prettify(s)
  52771. }
  52772. // GoString returns the string representation
  52773. func (s ImportInstanceTaskDetails) GoString() string {
  52774. return s.String()
  52775. }
  52776. // SetDescription sets the Description field's value.
  52777. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  52778. s.Description = &v
  52779. return s
  52780. }
  52781. // SetInstanceId sets the InstanceId field's value.
  52782. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  52783. s.InstanceId = &v
  52784. return s
  52785. }
  52786. // SetPlatform sets the Platform field's value.
  52787. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  52788. s.Platform = &v
  52789. return s
  52790. }
  52791. // SetVolumes sets the Volumes field's value.
  52792. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  52793. s.Volumes = v
  52794. return s
  52795. }
  52796. // Describes an import volume task.
  52797. type ImportInstanceVolumeDetailItem struct {
  52798. _ struct{} `type:"structure"`
  52799. // The Availability Zone where the resulting instance will reside.
  52800. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  52801. // The number of bytes converted so far.
  52802. BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
  52803. // A description of the task.
  52804. Description *string `locationName:"description" type:"string"`
  52805. // The image.
  52806. Image *DiskImageDescription `locationName:"image" type:"structure"`
  52807. // The status of the import of this particular disk image.
  52808. Status *string `locationName:"status" type:"string"`
  52809. // The status information or errors related to the disk image.
  52810. StatusMessage *string `locationName:"statusMessage" type:"string"`
  52811. // The volume.
  52812. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
  52813. }
  52814. // String returns the string representation
  52815. func (s ImportInstanceVolumeDetailItem) String() string {
  52816. return awsutil.Prettify(s)
  52817. }
  52818. // GoString returns the string representation
  52819. func (s ImportInstanceVolumeDetailItem) GoString() string {
  52820. return s.String()
  52821. }
  52822. // SetAvailabilityZone sets the AvailabilityZone field's value.
  52823. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  52824. s.AvailabilityZone = &v
  52825. return s
  52826. }
  52827. // SetBytesConverted sets the BytesConverted field's value.
  52828. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  52829. s.BytesConverted = &v
  52830. return s
  52831. }
  52832. // SetDescription sets the Description field's value.
  52833. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  52834. s.Description = &v
  52835. return s
  52836. }
  52837. // SetImage sets the Image field's value.
  52838. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  52839. s.Image = v
  52840. return s
  52841. }
  52842. // SetStatus sets the Status field's value.
  52843. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  52844. s.Status = &v
  52845. return s
  52846. }
  52847. // SetStatusMessage sets the StatusMessage field's value.
  52848. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  52849. s.StatusMessage = &v
  52850. return s
  52851. }
  52852. // SetVolume sets the Volume field's value.
  52853. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  52854. s.Volume = v
  52855. return s
  52856. }
  52857. type ImportKeyPairInput struct {
  52858. _ struct{} `type:"structure"`
  52859. // Checks whether you have the required permissions for the action, without
  52860. // actually making the request, and provides an error response. If you have
  52861. // the required permissions, the error response is DryRunOperation. Otherwise,
  52862. // it is UnauthorizedOperation.
  52863. DryRun *bool `locationName:"dryRun" type:"boolean"`
  52864. // A unique name for the key pair.
  52865. //
  52866. // KeyName is a required field
  52867. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  52868. // The public key. For API calls, the text must be base64-encoded. For command
  52869. // line tools, base64 encoding is performed for you.
  52870. //
  52871. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  52872. //
  52873. // PublicKeyMaterial is a required field
  52874. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  52875. }
  52876. // String returns the string representation
  52877. func (s ImportKeyPairInput) String() string {
  52878. return awsutil.Prettify(s)
  52879. }
  52880. // GoString returns the string representation
  52881. func (s ImportKeyPairInput) GoString() string {
  52882. return s.String()
  52883. }
  52884. // Validate inspects the fields of the type to determine if they are valid.
  52885. func (s *ImportKeyPairInput) Validate() error {
  52886. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  52887. if s.KeyName == nil {
  52888. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  52889. }
  52890. if s.PublicKeyMaterial == nil {
  52891. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  52892. }
  52893. if invalidParams.Len() > 0 {
  52894. return invalidParams
  52895. }
  52896. return nil
  52897. }
  52898. // SetDryRun sets the DryRun field's value.
  52899. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  52900. s.DryRun = &v
  52901. return s
  52902. }
  52903. // SetKeyName sets the KeyName field's value.
  52904. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  52905. s.KeyName = &v
  52906. return s
  52907. }
  52908. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  52909. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  52910. s.PublicKeyMaterial = v
  52911. return s
  52912. }
  52913. type ImportKeyPairOutput struct {
  52914. _ struct{} `type:"structure"`
  52915. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  52916. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  52917. // The key pair name you provided.
  52918. KeyName *string `locationName:"keyName" type:"string"`
  52919. }
  52920. // String returns the string representation
  52921. func (s ImportKeyPairOutput) String() string {
  52922. return awsutil.Prettify(s)
  52923. }
  52924. // GoString returns the string representation
  52925. func (s ImportKeyPairOutput) GoString() string {
  52926. return s.String()
  52927. }
  52928. // SetKeyFingerprint sets the KeyFingerprint field's value.
  52929. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  52930. s.KeyFingerprint = &v
  52931. return s
  52932. }
  52933. // SetKeyName sets the KeyName field's value.
  52934. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  52935. s.KeyName = &v
  52936. return s
  52937. }
  52938. // Contains the parameters for ImportSnapshot.
  52939. type ImportSnapshotInput struct {
  52940. _ struct{} `type:"structure"`
  52941. // The client-specific data.
  52942. ClientData *ClientData `type:"structure"`
  52943. // Token to enable idempotency for VM import requests.
  52944. ClientToken *string `type:"string"`
  52945. // The description string for the import snapshot task.
  52946. Description *string `type:"string"`
  52947. // Information about the disk container.
  52948. DiskContainer *SnapshotDiskContainer `type:"structure"`
  52949. // Checks whether you have the required permissions for the action, without
  52950. // actually making the request, and provides an error response. If you have
  52951. // the required permissions, the error response is DryRunOperation. Otherwise,
  52952. // it is UnauthorizedOperation.
  52953. DryRun *bool `type:"boolean"`
  52954. // Specifies whether the destination snapshot of the imported image should be
  52955. // encrypted. The default CMK for EBS is used unless you specify a non-default
  52956. // AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
  52957. // see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  52958. // in the Amazon Elastic Compute Cloud User Guide.
  52959. Encrypted *bool `type:"boolean"`
  52960. // An identifier for the AWS Key Management Service (AWS KMS) customer master
  52961. // key (CMK) to use when creating the encrypted snapshot. This parameter is
  52962. // only required if you want to use a non-default CMK; if this parameter is
  52963. // not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
  52964. // the Encrypted flag must also be set.
  52965. //
  52966. // The CMK identifier may be provided in any of the following formats:
  52967. //
  52968. // * Key ID
  52969. //
  52970. // * Key alias, in the form alias/ExampleAlias
  52971. //
  52972. // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
  52973. // by the region of the CMK, the AWS account ID of the CMK owner, the key
  52974. // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  52975. //
  52976. // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
  52977. // followed by the region of the CMK, the AWS account ID of the CMK owner,
  52978. // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
  52979. //
  52980. //
  52981. // AWS parses KmsKeyId asynchronously, meaning that the action you call may
  52982. // appear to complete even though you provided an invalid identifier. This action
  52983. // will eventually report failure.
  52984. //
  52985. // The specified CMK must exist in the region that the snapshot is being copied
  52986. // to.
  52987. KmsKeyId *string `type:"string"`
  52988. // The name of the role to use when not using the default role, 'vmimport'.
  52989. RoleName *string `type:"string"`
  52990. }
  52991. // String returns the string representation
  52992. func (s ImportSnapshotInput) String() string {
  52993. return awsutil.Prettify(s)
  52994. }
  52995. // GoString returns the string representation
  52996. func (s ImportSnapshotInput) GoString() string {
  52997. return s.String()
  52998. }
  52999. // SetClientData sets the ClientData field's value.
  53000. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  53001. s.ClientData = v
  53002. return s
  53003. }
  53004. // SetClientToken sets the ClientToken field's value.
  53005. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  53006. s.ClientToken = &v
  53007. return s
  53008. }
  53009. // SetDescription sets the Description field's value.
  53010. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  53011. s.Description = &v
  53012. return s
  53013. }
  53014. // SetDiskContainer sets the DiskContainer field's value.
  53015. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  53016. s.DiskContainer = v
  53017. return s
  53018. }
  53019. // SetDryRun sets the DryRun field's value.
  53020. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  53021. s.DryRun = &v
  53022. return s
  53023. }
  53024. // SetEncrypted sets the Encrypted field's value.
  53025. func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
  53026. s.Encrypted = &v
  53027. return s
  53028. }
  53029. // SetKmsKeyId sets the KmsKeyId field's value.
  53030. func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
  53031. s.KmsKeyId = &v
  53032. return s
  53033. }
  53034. // SetRoleName sets the RoleName field's value.
  53035. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  53036. s.RoleName = &v
  53037. return s
  53038. }
  53039. // Contains the output for ImportSnapshot.
  53040. type ImportSnapshotOutput struct {
  53041. _ struct{} `type:"structure"`
  53042. // A description of the import snapshot task.
  53043. Description *string `locationName:"description" type:"string"`
  53044. // The ID of the import snapshot task.
  53045. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  53046. // Information about the import snapshot task.
  53047. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  53048. }
  53049. // String returns the string representation
  53050. func (s ImportSnapshotOutput) String() string {
  53051. return awsutil.Prettify(s)
  53052. }
  53053. // GoString returns the string representation
  53054. func (s ImportSnapshotOutput) GoString() string {
  53055. return s.String()
  53056. }
  53057. // SetDescription sets the Description field's value.
  53058. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  53059. s.Description = &v
  53060. return s
  53061. }
  53062. // SetImportTaskId sets the ImportTaskId field's value.
  53063. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  53064. s.ImportTaskId = &v
  53065. return s
  53066. }
  53067. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  53068. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  53069. s.SnapshotTaskDetail = v
  53070. return s
  53071. }
  53072. // Describes an import snapshot task.
  53073. type ImportSnapshotTask struct {
  53074. _ struct{} `type:"structure"`
  53075. // A description of the import snapshot task.
  53076. Description *string `locationName:"description" type:"string"`
  53077. // The ID of the import snapshot task.
  53078. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  53079. // Describes an import snapshot task.
  53080. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  53081. }
  53082. // String returns the string representation
  53083. func (s ImportSnapshotTask) String() string {
  53084. return awsutil.Prettify(s)
  53085. }
  53086. // GoString returns the string representation
  53087. func (s ImportSnapshotTask) GoString() string {
  53088. return s.String()
  53089. }
  53090. // SetDescription sets the Description field's value.
  53091. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  53092. s.Description = &v
  53093. return s
  53094. }
  53095. // SetImportTaskId sets the ImportTaskId field's value.
  53096. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  53097. s.ImportTaskId = &v
  53098. return s
  53099. }
  53100. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  53101. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  53102. s.SnapshotTaskDetail = v
  53103. return s
  53104. }
  53105. // Contains the parameters for ImportVolume.
  53106. type ImportVolumeInput struct {
  53107. _ struct{} `type:"structure"`
  53108. // The Availability Zone for the resulting EBS volume.
  53109. //
  53110. // AvailabilityZone is a required field
  53111. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  53112. // A description of the volume.
  53113. Description *string `locationName:"description" type:"string"`
  53114. // Checks whether you have the required permissions for the action, without
  53115. // actually making the request, and provides an error response. If you have
  53116. // the required permissions, the error response is DryRunOperation. Otherwise,
  53117. // it is UnauthorizedOperation.
  53118. DryRun *bool `locationName:"dryRun" type:"boolean"`
  53119. // The disk image.
  53120. //
  53121. // Image is a required field
  53122. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  53123. // The volume size.
  53124. //
  53125. // Volume is a required field
  53126. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  53127. }
  53128. // String returns the string representation
  53129. func (s ImportVolumeInput) String() string {
  53130. return awsutil.Prettify(s)
  53131. }
  53132. // GoString returns the string representation
  53133. func (s ImportVolumeInput) GoString() string {
  53134. return s.String()
  53135. }
  53136. // Validate inspects the fields of the type to determine if they are valid.
  53137. func (s *ImportVolumeInput) Validate() error {
  53138. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  53139. if s.AvailabilityZone == nil {
  53140. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  53141. }
  53142. if s.Image == nil {
  53143. invalidParams.Add(request.NewErrParamRequired("Image"))
  53144. }
  53145. if s.Volume == nil {
  53146. invalidParams.Add(request.NewErrParamRequired("Volume"))
  53147. }
  53148. if s.Image != nil {
  53149. if err := s.Image.Validate(); err != nil {
  53150. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  53151. }
  53152. }
  53153. if s.Volume != nil {
  53154. if err := s.Volume.Validate(); err != nil {
  53155. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  53156. }
  53157. }
  53158. if invalidParams.Len() > 0 {
  53159. return invalidParams
  53160. }
  53161. return nil
  53162. }
  53163. // SetAvailabilityZone sets the AvailabilityZone field's value.
  53164. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  53165. s.AvailabilityZone = &v
  53166. return s
  53167. }
  53168. // SetDescription sets the Description field's value.
  53169. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  53170. s.Description = &v
  53171. return s
  53172. }
  53173. // SetDryRun sets the DryRun field's value.
  53174. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  53175. s.DryRun = &v
  53176. return s
  53177. }
  53178. // SetImage sets the Image field's value.
  53179. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  53180. s.Image = v
  53181. return s
  53182. }
  53183. // SetVolume sets the Volume field's value.
  53184. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  53185. s.Volume = v
  53186. return s
  53187. }
  53188. // Contains the output for ImportVolume.
  53189. type ImportVolumeOutput struct {
  53190. _ struct{} `type:"structure"`
  53191. // Information about the conversion task.
  53192. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  53193. }
  53194. // String returns the string representation
  53195. func (s ImportVolumeOutput) String() string {
  53196. return awsutil.Prettify(s)
  53197. }
  53198. // GoString returns the string representation
  53199. func (s ImportVolumeOutput) GoString() string {
  53200. return s.String()
  53201. }
  53202. // SetConversionTask sets the ConversionTask field's value.
  53203. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  53204. s.ConversionTask = v
  53205. return s
  53206. }
  53207. // Describes an import volume task.
  53208. type ImportVolumeTaskDetails struct {
  53209. _ struct{} `type:"structure"`
  53210. // The Availability Zone where the resulting volume will reside.
  53211. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  53212. // The number of bytes converted so far.
  53213. BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
  53214. // The description you provided when starting the import volume task.
  53215. Description *string `locationName:"description" type:"string"`
  53216. // The image.
  53217. Image *DiskImageDescription `locationName:"image" type:"structure"`
  53218. // The volume.
  53219. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
  53220. }
  53221. // String returns the string representation
  53222. func (s ImportVolumeTaskDetails) String() string {
  53223. return awsutil.Prettify(s)
  53224. }
  53225. // GoString returns the string representation
  53226. func (s ImportVolumeTaskDetails) GoString() string {
  53227. return s.String()
  53228. }
  53229. // SetAvailabilityZone sets the AvailabilityZone field's value.
  53230. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  53231. s.AvailabilityZone = &v
  53232. return s
  53233. }
  53234. // SetBytesConverted sets the BytesConverted field's value.
  53235. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  53236. s.BytesConverted = &v
  53237. return s
  53238. }
  53239. // SetDescription sets the Description field's value.
  53240. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  53241. s.Description = &v
  53242. return s
  53243. }
  53244. // SetImage sets the Image field's value.
  53245. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  53246. s.Image = v
  53247. return s
  53248. }
  53249. // SetVolume sets the Volume field's value.
  53250. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  53251. s.Volume = v
  53252. return s
  53253. }
  53254. // Describes an instance.
  53255. type Instance struct {
  53256. _ struct{} `type:"structure"`
  53257. // The AMI launch index, which can be used to find this instance in the launch
  53258. // group.
  53259. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  53260. // The architecture of the image.
  53261. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  53262. // Any block device mapping entries for the instance.
  53263. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  53264. // The ID of the Capacity Reservation.
  53265. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
  53266. // Information about the Capacity Reservation targeting option.
  53267. CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
  53268. // The idempotency token you provided when you launched the instance, if applicable.
  53269. ClientToken *string `locationName:"clientToken" type:"string"`
  53270. // The CPU options for the instance.
  53271. CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
  53272. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  53273. // provides dedicated throughput to Amazon EBS and an optimized configuration
  53274. // stack to provide optimal I/O performance. This optimization isn't available
  53275. // with all instance types. Additional usage charges apply when using an EBS
  53276. // Optimized instance.
  53277. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  53278. // The Elastic GPU associated with the instance.
  53279. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
  53280. // The elastic inference accelerator associated with the instance.
  53281. ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
  53282. // Specifies whether enhanced networking with ENA is enabled.
  53283. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  53284. // Indicates whether the instance is enabled for hibernation.
  53285. HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
  53286. // The hypervisor type of the instance.
  53287. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  53288. // The IAM instance profile associated with the instance, if applicable.
  53289. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  53290. // The ID of the AMI used to launch the instance.
  53291. ImageId *string `locationName:"imageId" type:"string"`
  53292. // The ID of the instance.
  53293. InstanceId *string `locationName:"instanceId" type:"string"`
  53294. // Indicates whether this is a Spot Instance or a Scheduled Instance.
  53295. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  53296. // The instance type.
  53297. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  53298. // The kernel associated with this instance, if applicable.
  53299. KernelId *string `locationName:"kernelId" type:"string"`
  53300. // The name of the key pair, if this instance was launched with an associated
  53301. // key pair.
  53302. KeyName *string `locationName:"keyName" type:"string"`
  53303. // The time the instance was launched.
  53304. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
  53305. // The license configurations.
  53306. Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
  53307. // The monitoring for the instance.
  53308. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  53309. // [EC2-VPC] One or more network interfaces for the instance.
  53310. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  53311. // The location where the instance launched, if applicable.
  53312. Placement *Placement `locationName:"placement" type:"structure"`
  53313. // The value is Windows for Windows instances; otherwise blank.
  53314. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  53315. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  53316. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  53317. // not available until the instance enters the running state.
  53318. //
  53319. // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
  53320. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  53321. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  53322. // custom domain name servers must resolve the hostname as appropriate.
  53323. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  53324. // The private IPv4 address assigned to the instance.
  53325. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  53326. // The product codes attached to this instance, if applicable.
  53327. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  53328. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  53329. // available until the instance enters the running state. For EC2-VPC, this
  53330. // name is only available if you've enabled DNS hostnames for your VPC.
  53331. PublicDnsName *string `locationName:"dnsName" type:"string"`
  53332. // The public IPv4 address assigned to the instance, if applicable.
  53333. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  53334. // The RAM disk associated with this instance, if applicable.
  53335. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  53336. // The device name of the root device volume (for example, /dev/sda1).
  53337. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  53338. // The root device type used by the AMI. The AMI can use an EBS volume or an
  53339. // instance store volume.
  53340. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  53341. // One or more security groups for the instance.
  53342. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  53343. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  53344. // This controls whether source/destination checking is enabled on the instance.
  53345. // A value of true means that checking is enabled, and false means that checking
  53346. // is disabled. The value must be false for the instance to perform NAT. For
  53347. // more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  53348. // in the Amazon Virtual Private Cloud User Guide.
  53349. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  53350. // If the request is a Spot Instance request, the ID of the request.
  53351. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  53352. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  53353. // interface is enabled.
  53354. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  53355. // The current state of the instance.
  53356. State *InstanceState `locationName:"instanceState" type:"structure"`
  53357. // The reason for the most recent state transition.
  53358. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  53359. // The reason for the most recent state transition. This might be an empty string.
  53360. StateTransitionReason *string `locationName:"reason" type:"string"`
  53361. // [EC2-VPC] The ID of the subnet in which the instance is running.
  53362. SubnetId *string `locationName:"subnetId" type:"string"`
  53363. // Any tags assigned to the instance.
  53364. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  53365. // The virtualization type of the instance.
  53366. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  53367. // [EC2-VPC] The ID of the VPC in which the instance is running.
  53368. VpcId *string `locationName:"vpcId" type:"string"`
  53369. }
  53370. // String returns the string representation
  53371. func (s Instance) String() string {
  53372. return awsutil.Prettify(s)
  53373. }
  53374. // GoString returns the string representation
  53375. func (s Instance) GoString() string {
  53376. return s.String()
  53377. }
  53378. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  53379. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  53380. s.AmiLaunchIndex = &v
  53381. return s
  53382. }
  53383. // SetArchitecture sets the Architecture field's value.
  53384. func (s *Instance) SetArchitecture(v string) *Instance {
  53385. s.Architecture = &v
  53386. return s
  53387. }
  53388. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  53389. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  53390. s.BlockDeviceMappings = v
  53391. return s
  53392. }
  53393. // SetCapacityReservationId sets the CapacityReservationId field's value.
  53394. func (s *Instance) SetCapacityReservationId(v string) *Instance {
  53395. s.CapacityReservationId = &v
  53396. return s
  53397. }
  53398. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  53399. func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
  53400. s.CapacityReservationSpecification = v
  53401. return s
  53402. }
  53403. // SetClientToken sets the ClientToken field's value.
  53404. func (s *Instance) SetClientToken(v string) *Instance {
  53405. s.ClientToken = &v
  53406. return s
  53407. }
  53408. // SetCpuOptions sets the CpuOptions field's value.
  53409. func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
  53410. s.CpuOptions = v
  53411. return s
  53412. }
  53413. // SetEbsOptimized sets the EbsOptimized field's value.
  53414. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  53415. s.EbsOptimized = &v
  53416. return s
  53417. }
  53418. // SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
  53419. func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
  53420. s.ElasticGpuAssociations = v
  53421. return s
  53422. }
  53423. // SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
  53424. func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
  53425. s.ElasticInferenceAcceleratorAssociations = v
  53426. return s
  53427. }
  53428. // SetEnaSupport sets the EnaSupport field's value.
  53429. func (s *Instance) SetEnaSupport(v bool) *Instance {
  53430. s.EnaSupport = &v
  53431. return s
  53432. }
  53433. // SetHibernationOptions sets the HibernationOptions field's value.
  53434. func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
  53435. s.HibernationOptions = v
  53436. return s
  53437. }
  53438. // SetHypervisor sets the Hypervisor field's value.
  53439. func (s *Instance) SetHypervisor(v string) *Instance {
  53440. s.Hypervisor = &v
  53441. return s
  53442. }
  53443. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  53444. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  53445. s.IamInstanceProfile = v
  53446. return s
  53447. }
  53448. // SetImageId sets the ImageId field's value.
  53449. func (s *Instance) SetImageId(v string) *Instance {
  53450. s.ImageId = &v
  53451. return s
  53452. }
  53453. // SetInstanceId sets the InstanceId field's value.
  53454. func (s *Instance) SetInstanceId(v string) *Instance {
  53455. s.InstanceId = &v
  53456. return s
  53457. }
  53458. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  53459. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  53460. s.InstanceLifecycle = &v
  53461. return s
  53462. }
  53463. // SetInstanceType sets the InstanceType field's value.
  53464. func (s *Instance) SetInstanceType(v string) *Instance {
  53465. s.InstanceType = &v
  53466. return s
  53467. }
  53468. // SetKernelId sets the KernelId field's value.
  53469. func (s *Instance) SetKernelId(v string) *Instance {
  53470. s.KernelId = &v
  53471. return s
  53472. }
  53473. // SetKeyName sets the KeyName field's value.
  53474. func (s *Instance) SetKeyName(v string) *Instance {
  53475. s.KeyName = &v
  53476. return s
  53477. }
  53478. // SetLaunchTime sets the LaunchTime field's value.
  53479. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  53480. s.LaunchTime = &v
  53481. return s
  53482. }
  53483. // SetLicenses sets the Licenses field's value.
  53484. func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
  53485. s.Licenses = v
  53486. return s
  53487. }
  53488. // SetMonitoring sets the Monitoring field's value.
  53489. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  53490. s.Monitoring = v
  53491. return s
  53492. }
  53493. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  53494. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  53495. s.NetworkInterfaces = v
  53496. return s
  53497. }
  53498. // SetPlacement sets the Placement field's value.
  53499. func (s *Instance) SetPlacement(v *Placement) *Instance {
  53500. s.Placement = v
  53501. return s
  53502. }
  53503. // SetPlatform sets the Platform field's value.
  53504. func (s *Instance) SetPlatform(v string) *Instance {
  53505. s.Platform = &v
  53506. return s
  53507. }
  53508. // SetPrivateDnsName sets the PrivateDnsName field's value.
  53509. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  53510. s.PrivateDnsName = &v
  53511. return s
  53512. }
  53513. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  53514. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  53515. s.PrivateIpAddress = &v
  53516. return s
  53517. }
  53518. // SetProductCodes sets the ProductCodes field's value.
  53519. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  53520. s.ProductCodes = v
  53521. return s
  53522. }
  53523. // SetPublicDnsName sets the PublicDnsName field's value.
  53524. func (s *Instance) SetPublicDnsName(v string) *Instance {
  53525. s.PublicDnsName = &v
  53526. return s
  53527. }
  53528. // SetPublicIpAddress sets the PublicIpAddress field's value.
  53529. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  53530. s.PublicIpAddress = &v
  53531. return s
  53532. }
  53533. // SetRamdiskId sets the RamdiskId field's value.
  53534. func (s *Instance) SetRamdiskId(v string) *Instance {
  53535. s.RamdiskId = &v
  53536. return s
  53537. }
  53538. // SetRootDeviceName sets the RootDeviceName field's value.
  53539. func (s *Instance) SetRootDeviceName(v string) *Instance {
  53540. s.RootDeviceName = &v
  53541. return s
  53542. }
  53543. // SetRootDeviceType sets the RootDeviceType field's value.
  53544. func (s *Instance) SetRootDeviceType(v string) *Instance {
  53545. s.RootDeviceType = &v
  53546. return s
  53547. }
  53548. // SetSecurityGroups sets the SecurityGroups field's value.
  53549. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  53550. s.SecurityGroups = v
  53551. return s
  53552. }
  53553. // SetSourceDestCheck sets the SourceDestCheck field's value.
  53554. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  53555. s.SourceDestCheck = &v
  53556. return s
  53557. }
  53558. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  53559. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  53560. s.SpotInstanceRequestId = &v
  53561. return s
  53562. }
  53563. // SetSriovNetSupport sets the SriovNetSupport field's value.
  53564. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  53565. s.SriovNetSupport = &v
  53566. return s
  53567. }
  53568. // SetState sets the State field's value.
  53569. func (s *Instance) SetState(v *InstanceState) *Instance {
  53570. s.State = v
  53571. return s
  53572. }
  53573. // SetStateReason sets the StateReason field's value.
  53574. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  53575. s.StateReason = v
  53576. return s
  53577. }
  53578. // SetStateTransitionReason sets the StateTransitionReason field's value.
  53579. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  53580. s.StateTransitionReason = &v
  53581. return s
  53582. }
  53583. // SetSubnetId sets the SubnetId field's value.
  53584. func (s *Instance) SetSubnetId(v string) *Instance {
  53585. s.SubnetId = &v
  53586. return s
  53587. }
  53588. // SetTags sets the Tags field's value.
  53589. func (s *Instance) SetTags(v []*Tag) *Instance {
  53590. s.Tags = v
  53591. return s
  53592. }
  53593. // SetVirtualizationType sets the VirtualizationType field's value.
  53594. func (s *Instance) SetVirtualizationType(v string) *Instance {
  53595. s.VirtualizationType = &v
  53596. return s
  53597. }
  53598. // SetVpcId sets the VpcId field's value.
  53599. func (s *Instance) SetVpcId(v string) *Instance {
  53600. s.VpcId = &v
  53601. return s
  53602. }
  53603. // Describes a block device mapping.
  53604. type InstanceBlockDeviceMapping struct {
  53605. _ struct{} `type:"structure"`
  53606. // The device name (for example, /dev/sdh or xvdh).
  53607. DeviceName *string `locationName:"deviceName" type:"string"`
  53608. // Parameters used to automatically set up EBS volumes when the instance is
  53609. // launched.
  53610. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  53611. }
  53612. // String returns the string representation
  53613. func (s InstanceBlockDeviceMapping) String() string {
  53614. return awsutil.Prettify(s)
  53615. }
  53616. // GoString returns the string representation
  53617. func (s InstanceBlockDeviceMapping) GoString() string {
  53618. return s.String()
  53619. }
  53620. // SetDeviceName sets the DeviceName field's value.
  53621. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  53622. s.DeviceName = &v
  53623. return s
  53624. }
  53625. // SetEbs sets the Ebs field's value.
  53626. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  53627. s.Ebs = v
  53628. return s
  53629. }
  53630. // Describes a block device mapping entry.
  53631. type InstanceBlockDeviceMappingSpecification struct {
  53632. _ struct{} `type:"structure"`
  53633. // The device name (for example, /dev/sdh or xvdh).
  53634. DeviceName *string `locationName:"deviceName" type:"string"`
  53635. // Parameters used to automatically set up EBS volumes when the instance is
  53636. // launched.
  53637. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  53638. // suppress the specified device included in the block device mapping.
  53639. NoDevice *string `locationName:"noDevice" type:"string"`
  53640. // The virtual device name.
  53641. VirtualName *string `locationName:"virtualName" type:"string"`
  53642. }
  53643. // String returns the string representation
  53644. func (s InstanceBlockDeviceMappingSpecification) String() string {
  53645. return awsutil.Prettify(s)
  53646. }
  53647. // GoString returns the string representation
  53648. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  53649. return s.String()
  53650. }
  53651. // SetDeviceName sets the DeviceName field's value.
  53652. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  53653. s.DeviceName = &v
  53654. return s
  53655. }
  53656. // SetEbs sets the Ebs field's value.
  53657. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  53658. s.Ebs = v
  53659. return s
  53660. }
  53661. // SetNoDevice sets the NoDevice field's value.
  53662. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  53663. s.NoDevice = &v
  53664. return s
  53665. }
  53666. // SetVirtualName sets the VirtualName field's value.
  53667. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  53668. s.VirtualName = &v
  53669. return s
  53670. }
  53671. // Information about the instance type that the Dedicated Host supports.
  53672. type InstanceCapacity struct {
  53673. _ struct{} `type:"structure"`
  53674. // The number of instances that can still be launched onto the Dedicated Host.
  53675. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  53676. // The instance type size supported by the Dedicated Host.
  53677. InstanceType *string `locationName:"instanceType" type:"string"`
  53678. // The total number of instances that can be launched onto the Dedicated Host.
  53679. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  53680. }
  53681. // String returns the string representation
  53682. func (s InstanceCapacity) String() string {
  53683. return awsutil.Prettify(s)
  53684. }
  53685. // GoString returns the string representation
  53686. func (s InstanceCapacity) GoString() string {
  53687. return s.String()
  53688. }
  53689. // SetAvailableCapacity sets the AvailableCapacity field's value.
  53690. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  53691. s.AvailableCapacity = &v
  53692. return s
  53693. }
  53694. // SetInstanceType sets the InstanceType field's value.
  53695. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  53696. s.InstanceType = &v
  53697. return s
  53698. }
  53699. // SetTotalCapacity sets the TotalCapacity field's value.
  53700. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  53701. s.TotalCapacity = &v
  53702. return s
  53703. }
  53704. // Describes a Reserved Instance listing state.
  53705. type InstanceCount struct {
  53706. _ struct{} `type:"structure"`
  53707. // The number of listed Reserved Instances in the state specified by the state.
  53708. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  53709. // The states of the listed Reserved Instances.
  53710. State *string `locationName:"state" type:"string" enum:"ListingState"`
  53711. }
  53712. // String returns the string representation
  53713. func (s InstanceCount) String() string {
  53714. return awsutil.Prettify(s)
  53715. }
  53716. // GoString returns the string representation
  53717. func (s InstanceCount) GoString() string {
  53718. return s.String()
  53719. }
  53720. // SetInstanceCount sets the InstanceCount field's value.
  53721. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  53722. s.InstanceCount = &v
  53723. return s
  53724. }
  53725. // SetState sets the State field's value.
  53726. func (s *InstanceCount) SetState(v string) *InstanceCount {
  53727. s.State = &v
  53728. return s
  53729. }
  53730. // Describes the credit option for CPU usage of a T2 or T3 instance.
  53731. type InstanceCreditSpecification struct {
  53732. _ struct{} `type:"structure"`
  53733. // The credit option for CPU usage of the instance. Valid values are standard
  53734. // and unlimited.
  53735. CpuCredits *string `locationName:"cpuCredits" type:"string"`
  53736. // The ID of the instance.
  53737. InstanceId *string `locationName:"instanceId" type:"string"`
  53738. }
  53739. // String returns the string representation
  53740. func (s InstanceCreditSpecification) String() string {
  53741. return awsutil.Prettify(s)
  53742. }
  53743. // GoString returns the string representation
  53744. func (s InstanceCreditSpecification) GoString() string {
  53745. return s.String()
  53746. }
  53747. // SetCpuCredits sets the CpuCredits field's value.
  53748. func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
  53749. s.CpuCredits = &v
  53750. return s
  53751. }
  53752. // SetInstanceId sets the InstanceId field's value.
  53753. func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
  53754. s.InstanceId = &v
  53755. return s
  53756. }
  53757. // Describes the credit option for CPU usage of a T2 or T3 instance.
  53758. type InstanceCreditSpecificationRequest struct {
  53759. _ struct{} `type:"structure"`
  53760. // The credit option for CPU usage of the instance. Valid values are standard
  53761. // and unlimited.
  53762. CpuCredits *string `type:"string"`
  53763. // The ID of the instance.
  53764. InstanceId *string `type:"string"`
  53765. }
  53766. // String returns the string representation
  53767. func (s InstanceCreditSpecificationRequest) String() string {
  53768. return awsutil.Prettify(s)
  53769. }
  53770. // GoString returns the string representation
  53771. func (s InstanceCreditSpecificationRequest) GoString() string {
  53772. return s.String()
  53773. }
  53774. // SetCpuCredits sets the CpuCredits field's value.
  53775. func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
  53776. s.CpuCredits = &v
  53777. return s
  53778. }
  53779. // SetInstanceId sets the InstanceId field's value.
  53780. func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
  53781. s.InstanceId = &v
  53782. return s
  53783. }
  53784. // Describes an instance to export.
  53785. type InstanceExportDetails struct {
  53786. _ struct{} `type:"structure"`
  53787. // The ID of the resource being exported.
  53788. InstanceId *string `locationName:"instanceId" type:"string"`
  53789. // The target virtualization environment.
  53790. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  53791. }
  53792. // String returns the string representation
  53793. func (s InstanceExportDetails) String() string {
  53794. return awsutil.Prettify(s)
  53795. }
  53796. // GoString returns the string representation
  53797. func (s InstanceExportDetails) GoString() string {
  53798. return s.String()
  53799. }
  53800. // SetInstanceId sets the InstanceId field's value.
  53801. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  53802. s.InstanceId = &v
  53803. return s
  53804. }
  53805. // SetTargetEnvironment sets the TargetEnvironment field's value.
  53806. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  53807. s.TargetEnvironment = &v
  53808. return s
  53809. }
  53810. // Describes an IPv6 address.
  53811. type InstanceIpv6Address struct {
  53812. _ struct{} `type:"structure"`
  53813. // The IPv6 address.
  53814. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  53815. }
  53816. // String returns the string representation
  53817. func (s InstanceIpv6Address) String() string {
  53818. return awsutil.Prettify(s)
  53819. }
  53820. // GoString returns the string representation
  53821. func (s InstanceIpv6Address) GoString() string {
  53822. return s.String()
  53823. }
  53824. // SetIpv6Address sets the Ipv6Address field's value.
  53825. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  53826. s.Ipv6Address = &v
  53827. return s
  53828. }
  53829. // Describes an IPv6 address.
  53830. type InstanceIpv6AddressRequest struct {
  53831. _ struct{} `type:"structure"`
  53832. // The IPv6 address.
  53833. Ipv6Address *string `type:"string"`
  53834. }
  53835. // String returns the string representation
  53836. func (s InstanceIpv6AddressRequest) String() string {
  53837. return awsutil.Prettify(s)
  53838. }
  53839. // GoString returns the string representation
  53840. func (s InstanceIpv6AddressRequest) GoString() string {
  53841. return s.String()
  53842. }
  53843. // SetIpv6Address sets the Ipv6Address field's value.
  53844. func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
  53845. s.Ipv6Address = &v
  53846. return s
  53847. }
  53848. // Describes the market (purchasing) option for the instances.
  53849. type InstanceMarketOptionsRequest struct {
  53850. _ struct{} `type:"structure"`
  53851. // The market type.
  53852. MarketType *string `type:"string" enum:"MarketType"`
  53853. // The options for Spot Instances.
  53854. SpotOptions *SpotMarketOptions `type:"structure"`
  53855. }
  53856. // String returns the string representation
  53857. func (s InstanceMarketOptionsRequest) String() string {
  53858. return awsutil.Prettify(s)
  53859. }
  53860. // GoString returns the string representation
  53861. func (s InstanceMarketOptionsRequest) GoString() string {
  53862. return s.String()
  53863. }
  53864. // SetMarketType sets the MarketType field's value.
  53865. func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
  53866. s.MarketType = &v
  53867. return s
  53868. }
  53869. // SetSpotOptions sets the SpotOptions field's value.
  53870. func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
  53871. s.SpotOptions = v
  53872. return s
  53873. }
  53874. // Describes the monitoring of an instance.
  53875. type InstanceMonitoring struct {
  53876. _ struct{} `type:"structure"`
  53877. // The ID of the instance.
  53878. InstanceId *string `locationName:"instanceId" type:"string"`
  53879. // The monitoring for the instance.
  53880. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  53881. }
  53882. // String returns the string representation
  53883. func (s InstanceMonitoring) String() string {
  53884. return awsutil.Prettify(s)
  53885. }
  53886. // GoString returns the string representation
  53887. func (s InstanceMonitoring) GoString() string {
  53888. return s.String()
  53889. }
  53890. // SetInstanceId sets the InstanceId field's value.
  53891. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  53892. s.InstanceId = &v
  53893. return s
  53894. }
  53895. // SetMonitoring sets the Monitoring field's value.
  53896. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  53897. s.Monitoring = v
  53898. return s
  53899. }
  53900. // Describes a network interface.
  53901. type InstanceNetworkInterface struct {
  53902. _ struct{} `type:"structure"`
  53903. // The association information for an Elastic IPv4 associated with the network
  53904. // interface.
  53905. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  53906. // The network interface attachment.
  53907. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  53908. // The description.
  53909. Description *string `locationName:"description" type:"string"`
  53910. // One or more security groups.
  53911. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  53912. // One or more IPv6 addresses associated with the network interface.
  53913. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  53914. // The MAC address.
  53915. MacAddress *string `locationName:"macAddress" type:"string"`
  53916. // The ID of the network interface.
  53917. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  53918. // The ID of the AWS account that created the network interface.
  53919. OwnerId *string `locationName:"ownerId" type:"string"`
  53920. // The private DNS name.
  53921. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  53922. // The IPv4 address of the network interface within the subnet.
  53923. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  53924. // One or more private IPv4 addresses associated with the network interface.
  53925. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  53926. // Indicates whether to validate network traffic to or from this network interface.
  53927. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  53928. // The status of the network interface.
  53929. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  53930. // The ID of the subnet.
  53931. SubnetId *string `locationName:"subnetId" type:"string"`
  53932. // The ID of the VPC.
  53933. VpcId *string `locationName:"vpcId" type:"string"`
  53934. }
  53935. // String returns the string representation
  53936. func (s InstanceNetworkInterface) String() string {
  53937. return awsutil.Prettify(s)
  53938. }
  53939. // GoString returns the string representation
  53940. func (s InstanceNetworkInterface) GoString() string {
  53941. return s.String()
  53942. }
  53943. // SetAssociation sets the Association field's value.
  53944. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  53945. s.Association = v
  53946. return s
  53947. }
  53948. // SetAttachment sets the Attachment field's value.
  53949. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  53950. s.Attachment = v
  53951. return s
  53952. }
  53953. // SetDescription sets the Description field's value.
  53954. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  53955. s.Description = &v
  53956. return s
  53957. }
  53958. // SetGroups sets the Groups field's value.
  53959. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  53960. s.Groups = v
  53961. return s
  53962. }
  53963. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  53964. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  53965. s.Ipv6Addresses = v
  53966. return s
  53967. }
  53968. // SetMacAddress sets the MacAddress field's value.
  53969. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  53970. s.MacAddress = &v
  53971. return s
  53972. }
  53973. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  53974. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  53975. s.NetworkInterfaceId = &v
  53976. return s
  53977. }
  53978. // SetOwnerId sets the OwnerId field's value.
  53979. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  53980. s.OwnerId = &v
  53981. return s
  53982. }
  53983. // SetPrivateDnsName sets the PrivateDnsName field's value.
  53984. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  53985. s.PrivateDnsName = &v
  53986. return s
  53987. }
  53988. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  53989. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  53990. s.PrivateIpAddress = &v
  53991. return s
  53992. }
  53993. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  53994. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  53995. s.PrivateIpAddresses = v
  53996. return s
  53997. }
  53998. // SetSourceDestCheck sets the SourceDestCheck field's value.
  53999. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  54000. s.SourceDestCheck = &v
  54001. return s
  54002. }
  54003. // SetStatus sets the Status field's value.
  54004. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  54005. s.Status = &v
  54006. return s
  54007. }
  54008. // SetSubnetId sets the SubnetId field's value.
  54009. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  54010. s.SubnetId = &v
  54011. return s
  54012. }
  54013. // SetVpcId sets the VpcId field's value.
  54014. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  54015. s.VpcId = &v
  54016. return s
  54017. }
  54018. // Describes association information for an Elastic IP address (IPv4).
  54019. type InstanceNetworkInterfaceAssociation struct {
  54020. _ struct{} `type:"structure"`
  54021. // The ID of the owner of the Elastic IP address.
  54022. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  54023. // The public DNS name.
  54024. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  54025. // The public IP address or Elastic IP address bound to the network interface.
  54026. PublicIp *string `locationName:"publicIp" type:"string"`
  54027. }
  54028. // String returns the string representation
  54029. func (s InstanceNetworkInterfaceAssociation) String() string {
  54030. return awsutil.Prettify(s)
  54031. }
  54032. // GoString returns the string representation
  54033. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  54034. return s.String()
  54035. }
  54036. // SetIpOwnerId sets the IpOwnerId field's value.
  54037. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  54038. s.IpOwnerId = &v
  54039. return s
  54040. }
  54041. // SetPublicDnsName sets the PublicDnsName field's value.
  54042. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  54043. s.PublicDnsName = &v
  54044. return s
  54045. }
  54046. // SetPublicIp sets the PublicIp field's value.
  54047. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  54048. s.PublicIp = &v
  54049. return s
  54050. }
  54051. // Describes a network interface attachment.
  54052. type InstanceNetworkInterfaceAttachment struct {
  54053. _ struct{} `type:"structure"`
  54054. // The time stamp when the attachment initiated.
  54055. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  54056. // The ID of the network interface attachment.
  54057. AttachmentId *string `locationName:"attachmentId" type:"string"`
  54058. // Indicates whether the network interface is deleted when the instance is terminated.
  54059. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  54060. // The index of the device on the instance for the network interface attachment.
  54061. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  54062. // The attachment state.
  54063. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  54064. }
  54065. // String returns the string representation
  54066. func (s InstanceNetworkInterfaceAttachment) String() string {
  54067. return awsutil.Prettify(s)
  54068. }
  54069. // GoString returns the string representation
  54070. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  54071. return s.String()
  54072. }
  54073. // SetAttachTime sets the AttachTime field's value.
  54074. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  54075. s.AttachTime = &v
  54076. return s
  54077. }
  54078. // SetAttachmentId sets the AttachmentId field's value.
  54079. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  54080. s.AttachmentId = &v
  54081. return s
  54082. }
  54083. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  54084. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  54085. s.DeleteOnTermination = &v
  54086. return s
  54087. }
  54088. // SetDeviceIndex sets the DeviceIndex field's value.
  54089. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  54090. s.DeviceIndex = &v
  54091. return s
  54092. }
  54093. // SetStatus sets the Status field's value.
  54094. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  54095. s.Status = &v
  54096. return s
  54097. }
  54098. // Describes a network interface.
  54099. type InstanceNetworkInterfaceSpecification struct {
  54100. _ struct{} `type:"structure"`
  54101. // Indicates whether to assign a public IPv4 address to an instance you launch
  54102. // in a VPC. The public IP address can only be assigned to a network interface
  54103. // for eth0, and can only be assigned to a new network interface, not an existing
  54104. // one. You cannot specify more than one network interface in the request. If
  54105. // launching into a default subnet, the default value is true.
  54106. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  54107. // If set to true, the interface is deleted when the instance is terminated.
  54108. // You can specify true only if creating a new network interface when launching
  54109. // an instance.
  54110. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  54111. // The description of the network interface. Applies only if creating a network
  54112. // interface when launching an instance.
  54113. Description *string `locationName:"description" type:"string"`
  54114. // The index of the device on the instance for the network interface attachment.
  54115. // If you are specifying a network interface in a RunInstances request, you
  54116. // must provide the device index.
  54117. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  54118. // The IDs of the security groups for the network interface. Applies only if
  54119. // creating a network interface when launching an instance.
  54120. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  54121. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  54122. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  54123. // this option and the option to assign specific IPv6 addresses in the same
  54124. // request. You can specify this option if you've specified a minimum number
  54125. // of instances to launch.
  54126. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  54127. // One or more IPv6 addresses to assign to the network interface. You cannot
  54128. // specify this option and the option to assign a number of IPv6 addresses in
  54129. // the same request. You cannot specify this option if you've specified a minimum
  54130. // number of instances to launch.
  54131. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  54132. // The ID of the network interface.
  54133. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  54134. // The private IPv4 address of the network interface. Applies only if creating
  54135. // a network interface when launching an instance. You cannot specify this option
  54136. // if you're launching more than one instance in a RunInstances request.
  54137. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  54138. // One or more private IPv4 addresses to assign to the network interface. Only
  54139. // one private IPv4 address can be designated as primary. You cannot specify
  54140. // this option if you're launching more than one instance in a RunInstances
  54141. // request.
  54142. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  54143. // The number of secondary private IPv4 addresses. You can't specify this option
  54144. // and specify more than one private IP address using the private IP addresses
  54145. // option. You cannot specify this option if you're launching more than one
  54146. // instance in a RunInstances request.
  54147. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  54148. // The ID of the subnet associated with the network string. Applies only if
  54149. // creating a network interface when launching an instance.
  54150. SubnetId *string `locationName:"subnetId" type:"string"`
  54151. }
  54152. // String returns the string representation
  54153. func (s InstanceNetworkInterfaceSpecification) String() string {
  54154. return awsutil.Prettify(s)
  54155. }
  54156. // GoString returns the string representation
  54157. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  54158. return s.String()
  54159. }
  54160. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  54161. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  54162. s.AssociatePublicIpAddress = &v
  54163. return s
  54164. }
  54165. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  54166. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  54167. s.DeleteOnTermination = &v
  54168. return s
  54169. }
  54170. // SetDescription sets the Description field's value.
  54171. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  54172. s.Description = &v
  54173. return s
  54174. }
  54175. // SetDeviceIndex sets the DeviceIndex field's value.
  54176. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  54177. s.DeviceIndex = &v
  54178. return s
  54179. }
  54180. // SetGroups sets the Groups field's value.
  54181. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  54182. s.Groups = v
  54183. return s
  54184. }
  54185. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  54186. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  54187. s.Ipv6AddressCount = &v
  54188. return s
  54189. }
  54190. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  54191. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  54192. s.Ipv6Addresses = v
  54193. return s
  54194. }
  54195. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  54196. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  54197. s.NetworkInterfaceId = &v
  54198. return s
  54199. }
  54200. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  54201. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  54202. s.PrivateIpAddress = &v
  54203. return s
  54204. }
  54205. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  54206. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  54207. s.PrivateIpAddresses = v
  54208. return s
  54209. }
  54210. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  54211. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  54212. s.SecondaryPrivateIpAddressCount = &v
  54213. return s
  54214. }
  54215. // SetSubnetId sets the SubnetId field's value.
  54216. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  54217. s.SubnetId = &v
  54218. return s
  54219. }
  54220. // Describes a private IPv4 address.
  54221. type InstancePrivateIpAddress struct {
  54222. _ struct{} `type:"structure"`
  54223. // The association information for an Elastic IP address for the network interface.
  54224. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  54225. // Indicates whether this IPv4 address is the primary private IP address of
  54226. // the network interface.
  54227. Primary *bool `locationName:"primary" type:"boolean"`
  54228. // The private IPv4 DNS name.
  54229. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  54230. // The private IPv4 address of the network interface.
  54231. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  54232. }
  54233. // String returns the string representation
  54234. func (s InstancePrivateIpAddress) String() string {
  54235. return awsutil.Prettify(s)
  54236. }
  54237. // GoString returns the string representation
  54238. func (s InstancePrivateIpAddress) GoString() string {
  54239. return s.String()
  54240. }
  54241. // SetAssociation sets the Association field's value.
  54242. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  54243. s.Association = v
  54244. return s
  54245. }
  54246. // SetPrimary sets the Primary field's value.
  54247. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  54248. s.Primary = &v
  54249. return s
  54250. }
  54251. // SetPrivateDnsName sets the PrivateDnsName field's value.
  54252. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  54253. s.PrivateDnsName = &v
  54254. return s
  54255. }
  54256. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  54257. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  54258. s.PrivateIpAddress = &v
  54259. return s
  54260. }
  54261. // Describes the current state of an instance.
  54262. type InstanceState struct {
  54263. _ struct{} `type:"structure"`
  54264. // The state of the instance as a 16-bit unsigned integer.
  54265. //
  54266. // The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
  54267. // values between 256 and 65,535. These numerical values are used for internal
  54268. // purposes and should be ignored.
  54269. //
  54270. // The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
  54271. // values between 0 and 255.
  54272. //
  54273. // The valid values for instance-state-code will all be in the range of the
  54274. // low byte and they are:
  54275. //
  54276. // * 0 : pending
  54277. //
  54278. // * 16 : running
  54279. //
  54280. // * 32 : shutting-down
  54281. //
  54282. // * 48 : terminated
  54283. //
  54284. // * 64 : stopping
  54285. //
  54286. // * 80 : stopped
  54287. //
  54288. // You can ignore the high byte value by zeroing out all of the bits above 2^8
  54289. // or 256 in decimal.
  54290. Code *int64 `locationName:"code" type:"integer"`
  54291. // The current state of the instance.
  54292. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  54293. }
  54294. // String returns the string representation
  54295. func (s InstanceState) String() string {
  54296. return awsutil.Prettify(s)
  54297. }
  54298. // GoString returns the string representation
  54299. func (s InstanceState) GoString() string {
  54300. return s.String()
  54301. }
  54302. // SetCode sets the Code field's value.
  54303. func (s *InstanceState) SetCode(v int64) *InstanceState {
  54304. s.Code = &v
  54305. return s
  54306. }
  54307. // SetName sets the Name field's value.
  54308. func (s *InstanceState) SetName(v string) *InstanceState {
  54309. s.Name = &v
  54310. return s
  54311. }
  54312. // Describes an instance state change.
  54313. type InstanceStateChange struct {
  54314. _ struct{} `type:"structure"`
  54315. // The current state of the instance.
  54316. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  54317. // The ID of the instance.
  54318. InstanceId *string `locationName:"instanceId" type:"string"`
  54319. // The previous state of the instance.
  54320. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  54321. }
  54322. // String returns the string representation
  54323. func (s InstanceStateChange) String() string {
  54324. return awsutil.Prettify(s)
  54325. }
  54326. // GoString returns the string representation
  54327. func (s InstanceStateChange) GoString() string {
  54328. return s.String()
  54329. }
  54330. // SetCurrentState sets the CurrentState field's value.
  54331. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  54332. s.CurrentState = v
  54333. return s
  54334. }
  54335. // SetInstanceId sets the InstanceId field's value.
  54336. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  54337. s.InstanceId = &v
  54338. return s
  54339. }
  54340. // SetPreviousState sets the PreviousState field's value.
  54341. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  54342. s.PreviousState = v
  54343. return s
  54344. }
  54345. // Describes the status of an instance.
  54346. type InstanceStatus struct {
  54347. _ struct{} `type:"structure"`
  54348. // The Availability Zone of the instance.
  54349. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  54350. // Any scheduled events associated with the instance.
  54351. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  54352. // The ID of the instance.
  54353. InstanceId *string `locationName:"instanceId" type:"string"`
  54354. // The intended state of the instance. DescribeInstanceStatus requires that
  54355. // an instance be in the running state.
  54356. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  54357. // Reports impaired functionality that stems from issues internal to the instance,
  54358. // such as impaired reachability.
  54359. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  54360. // Reports impaired functionality that stems from issues related to the systems
  54361. // that support an instance, such as hardware failures and network connectivity
  54362. // problems.
  54363. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  54364. }
  54365. // String returns the string representation
  54366. func (s InstanceStatus) String() string {
  54367. return awsutil.Prettify(s)
  54368. }
  54369. // GoString returns the string representation
  54370. func (s InstanceStatus) GoString() string {
  54371. return s.String()
  54372. }
  54373. // SetAvailabilityZone sets the AvailabilityZone field's value.
  54374. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  54375. s.AvailabilityZone = &v
  54376. return s
  54377. }
  54378. // SetEvents sets the Events field's value.
  54379. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  54380. s.Events = v
  54381. return s
  54382. }
  54383. // SetInstanceId sets the InstanceId field's value.
  54384. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  54385. s.InstanceId = &v
  54386. return s
  54387. }
  54388. // SetInstanceState sets the InstanceState field's value.
  54389. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  54390. s.InstanceState = v
  54391. return s
  54392. }
  54393. // SetInstanceStatus sets the InstanceStatus field's value.
  54394. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  54395. s.InstanceStatus = v
  54396. return s
  54397. }
  54398. // SetSystemStatus sets the SystemStatus field's value.
  54399. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  54400. s.SystemStatus = v
  54401. return s
  54402. }
  54403. // Describes the instance status.
  54404. type InstanceStatusDetails struct {
  54405. _ struct{} `type:"structure"`
  54406. // The time when a status check failed. For an instance that was launched and
  54407. // impaired, this is the time when the instance was launched.
  54408. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
  54409. // The type of instance status.
  54410. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  54411. // The status.
  54412. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  54413. }
  54414. // String returns the string representation
  54415. func (s InstanceStatusDetails) String() string {
  54416. return awsutil.Prettify(s)
  54417. }
  54418. // GoString returns the string representation
  54419. func (s InstanceStatusDetails) GoString() string {
  54420. return s.String()
  54421. }
  54422. // SetImpairedSince sets the ImpairedSince field's value.
  54423. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  54424. s.ImpairedSince = &v
  54425. return s
  54426. }
  54427. // SetName sets the Name field's value.
  54428. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  54429. s.Name = &v
  54430. return s
  54431. }
  54432. // SetStatus sets the Status field's value.
  54433. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  54434. s.Status = &v
  54435. return s
  54436. }
  54437. // Describes a scheduled event for an instance.
  54438. type InstanceStatusEvent struct {
  54439. _ struct{} `type:"structure"`
  54440. // The event code.
  54441. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  54442. // A description of the event.
  54443. //
  54444. // After a scheduled event is completed, it can still be described for up to
  54445. // a week. If the event has been completed, this description starts with the
  54446. // following text: [Completed].
  54447. Description *string `locationName:"description" type:"string"`
  54448. // The ID of the event.
  54449. InstanceEventId *string `locationName:"instanceEventId" type:"string"`
  54450. // The latest scheduled end time for the event.
  54451. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
  54452. // The earliest scheduled start time for the event.
  54453. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
  54454. // The deadline for starting the event.
  54455. NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
  54456. }
  54457. // String returns the string representation
  54458. func (s InstanceStatusEvent) String() string {
  54459. return awsutil.Prettify(s)
  54460. }
  54461. // GoString returns the string representation
  54462. func (s InstanceStatusEvent) GoString() string {
  54463. return s.String()
  54464. }
  54465. // SetCode sets the Code field's value.
  54466. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  54467. s.Code = &v
  54468. return s
  54469. }
  54470. // SetDescription sets the Description field's value.
  54471. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  54472. s.Description = &v
  54473. return s
  54474. }
  54475. // SetInstanceEventId sets the InstanceEventId field's value.
  54476. func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
  54477. s.InstanceEventId = &v
  54478. return s
  54479. }
  54480. // SetNotAfter sets the NotAfter field's value.
  54481. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  54482. s.NotAfter = &v
  54483. return s
  54484. }
  54485. // SetNotBefore sets the NotBefore field's value.
  54486. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  54487. s.NotBefore = &v
  54488. return s
  54489. }
  54490. // SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
  54491. func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
  54492. s.NotBeforeDeadline = &v
  54493. return s
  54494. }
  54495. // Describes the status of an instance.
  54496. type InstanceStatusSummary struct {
  54497. _ struct{} `type:"structure"`
  54498. // The system instance health or application instance health.
  54499. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  54500. // The status.
  54501. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  54502. }
  54503. // String returns the string representation
  54504. func (s InstanceStatusSummary) String() string {
  54505. return awsutil.Prettify(s)
  54506. }
  54507. // GoString returns the string representation
  54508. func (s InstanceStatusSummary) GoString() string {
  54509. return s.String()
  54510. }
  54511. // SetDetails sets the Details field's value.
  54512. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  54513. s.Details = v
  54514. return s
  54515. }
  54516. // SetStatus sets the Status field's value.
  54517. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  54518. s.Status = &v
  54519. return s
  54520. }
  54521. // Describes an internet gateway.
  54522. type InternetGateway struct {
  54523. _ struct{} `type:"structure"`
  54524. // Any VPCs attached to the internet gateway.
  54525. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  54526. // The ID of the internet gateway.
  54527. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  54528. // The ID of the AWS account that owns the internet gateway.
  54529. OwnerId *string `locationName:"ownerId" type:"string"`
  54530. // Any tags assigned to the internet gateway.
  54531. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  54532. }
  54533. // String returns the string representation
  54534. func (s InternetGateway) String() string {
  54535. return awsutil.Prettify(s)
  54536. }
  54537. // GoString returns the string representation
  54538. func (s InternetGateway) GoString() string {
  54539. return s.String()
  54540. }
  54541. // SetAttachments sets the Attachments field's value.
  54542. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  54543. s.Attachments = v
  54544. return s
  54545. }
  54546. // SetInternetGatewayId sets the InternetGatewayId field's value.
  54547. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  54548. s.InternetGatewayId = &v
  54549. return s
  54550. }
  54551. // SetOwnerId sets the OwnerId field's value.
  54552. func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
  54553. s.OwnerId = &v
  54554. return s
  54555. }
  54556. // SetTags sets the Tags field's value.
  54557. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  54558. s.Tags = v
  54559. return s
  54560. }
  54561. // Describes the attachment of a VPC to an internet gateway or an egress-only
  54562. // internet gateway.
  54563. type InternetGatewayAttachment struct {
  54564. _ struct{} `type:"structure"`
  54565. // The current state of the attachment. For an internet gateway, the state is
  54566. // available when attached to a VPC; otherwise, this value is not returned.
  54567. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  54568. // The ID of the VPC.
  54569. VpcId *string `locationName:"vpcId" type:"string"`
  54570. }
  54571. // String returns the string representation
  54572. func (s InternetGatewayAttachment) String() string {
  54573. return awsutil.Prettify(s)
  54574. }
  54575. // GoString returns the string representation
  54576. func (s InternetGatewayAttachment) GoString() string {
  54577. return s.String()
  54578. }
  54579. // SetState sets the State field's value.
  54580. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  54581. s.State = &v
  54582. return s
  54583. }
  54584. // SetVpcId sets the VpcId field's value.
  54585. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  54586. s.VpcId = &v
  54587. return s
  54588. }
  54589. // Describes a set of permissions for a security group rule.
  54590. type IpPermission struct {
  54591. _ struct{} `type:"structure"`
  54592. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  54593. // type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
  54594. // all ICMP/ICMPv6 types, you must specify all codes.
  54595. FromPort *int64 `locationName:"fromPort" type:"integer"`
  54596. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  54597. //
  54598. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  54599. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  54600. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  54601. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  54602. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  54603. // for all types and codes is allowed when authorizing rules.
  54604. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  54605. // One or more IPv4 ranges.
  54606. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  54607. // [EC2-VPC only] One or more IPv6 ranges.
  54608. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  54609. // [EC2-VPC only] One or more prefix list IDs for an AWS service. With AuthorizeSecurityGroupEgress,
  54610. // this is the AWS service that you want to access through a VPC endpoint from
  54611. // instances associated with the security group.
  54612. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  54613. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  54614. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  54615. // If you specify all ICMP/ICMPv6 types, you must specify all codes.
  54616. ToPort *int64 `locationName:"toPort" type:"integer"`
  54617. // One or more security group and AWS account ID pairs.
  54618. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  54619. }
  54620. // String returns the string representation
  54621. func (s IpPermission) String() string {
  54622. return awsutil.Prettify(s)
  54623. }
  54624. // GoString returns the string representation
  54625. func (s IpPermission) GoString() string {
  54626. return s.String()
  54627. }
  54628. // SetFromPort sets the FromPort field's value.
  54629. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  54630. s.FromPort = &v
  54631. return s
  54632. }
  54633. // SetIpProtocol sets the IpProtocol field's value.
  54634. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  54635. s.IpProtocol = &v
  54636. return s
  54637. }
  54638. // SetIpRanges sets the IpRanges field's value.
  54639. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  54640. s.IpRanges = v
  54641. return s
  54642. }
  54643. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  54644. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  54645. s.Ipv6Ranges = v
  54646. return s
  54647. }
  54648. // SetPrefixListIds sets the PrefixListIds field's value.
  54649. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  54650. s.PrefixListIds = v
  54651. return s
  54652. }
  54653. // SetToPort sets the ToPort field's value.
  54654. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  54655. s.ToPort = &v
  54656. return s
  54657. }
  54658. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  54659. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  54660. s.UserIdGroupPairs = v
  54661. return s
  54662. }
  54663. // Describes an IPv4 range.
  54664. type IpRange struct {
  54665. _ struct{} `type:"structure"`
  54666. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  54667. // group, not both. To specify a single IPv4 address, use the /32 prefix length.
  54668. CidrIp *string `locationName:"cidrIp" type:"string"`
  54669. // A description for the security group rule that references this IPv4 address
  54670. // range.
  54671. //
  54672. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  54673. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  54674. Description *string `locationName:"description" type:"string"`
  54675. }
  54676. // String returns the string representation
  54677. func (s IpRange) String() string {
  54678. return awsutil.Prettify(s)
  54679. }
  54680. // GoString returns the string representation
  54681. func (s IpRange) GoString() string {
  54682. return s.String()
  54683. }
  54684. // SetCidrIp sets the CidrIp field's value.
  54685. func (s *IpRange) SetCidrIp(v string) *IpRange {
  54686. s.CidrIp = &v
  54687. return s
  54688. }
  54689. // SetDescription sets the Description field's value.
  54690. func (s *IpRange) SetDescription(v string) *IpRange {
  54691. s.Description = &v
  54692. return s
  54693. }
  54694. // Describes an IPv6 CIDR block.
  54695. type Ipv6CidrBlock struct {
  54696. _ struct{} `type:"structure"`
  54697. // The IPv6 CIDR block.
  54698. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  54699. }
  54700. // String returns the string representation
  54701. func (s Ipv6CidrBlock) String() string {
  54702. return awsutil.Prettify(s)
  54703. }
  54704. // GoString returns the string representation
  54705. func (s Ipv6CidrBlock) GoString() string {
  54706. return s.String()
  54707. }
  54708. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  54709. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  54710. s.Ipv6CidrBlock = &v
  54711. return s
  54712. }
  54713. // [EC2-VPC only] Describes an IPv6 range.
  54714. type Ipv6Range struct {
  54715. _ struct{} `type:"structure"`
  54716. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  54717. // group, not both. To specify a single IPv6 address, use the /128 prefix length.
  54718. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  54719. // A description for the security group rule that references this IPv6 address
  54720. // range.
  54721. //
  54722. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  54723. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  54724. Description *string `locationName:"description" type:"string"`
  54725. }
  54726. // String returns the string representation
  54727. func (s Ipv6Range) String() string {
  54728. return awsutil.Prettify(s)
  54729. }
  54730. // GoString returns the string representation
  54731. func (s Ipv6Range) GoString() string {
  54732. return s.String()
  54733. }
  54734. // SetCidrIpv6 sets the CidrIpv6 field's value.
  54735. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  54736. s.CidrIpv6 = &v
  54737. return s
  54738. }
  54739. // SetDescription sets the Description field's value.
  54740. func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
  54741. s.Description = &v
  54742. return s
  54743. }
  54744. // Describes a key pair.
  54745. type KeyPairInfo struct {
  54746. _ struct{} `type:"structure"`
  54747. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  54748. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  54749. // the public key, this is the MD5 public key fingerprint as specified in section
  54750. // 4 of RFC4716.
  54751. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  54752. // The name of the key pair.
  54753. KeyName *string `locationName:"keyName" type:"string"`
  54754. }
  54755. // String returns the string representation
  54756. func (s KeyPairInfo) String() string {
  54757. return awsutil.Prettify(s)
  54758. }
  54759. // GoString returns the string representation
  54760. func (s KeyPairInfo) GoString() string {
  54761. return s.String()
  54762. }
  54763. // SetKeyFingerprint sets the KeyFingerprint field's value.
  54764. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  54765. s.KeyFingerprint = &v
  54766. return s
  54767. }
  54768. // SetKeyName sets the KeyName field's value.
  54769. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  54770. s.KeyName = &v
  54771. return s
  54772. }
  54773. // Describes a launch permission.
  54774. type LaunchPermission struct {
  54775. _ struct{} `type:"structure"`
  54776. // The name of the group.
  54777. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  54778. // The AWS account ID.
  54779. UserId *string `locationName:"userId" type:"string"`
  54780. }
  54781. // String returns the string representation
  54782. func (s LaunchPermission) String() string {
  54783. return awsutil.Prettify(s)
  54784. }
  54785. // GoString returns the string representation
  54786. func (s LaunchPermission) GoString() string {
  54787. return s.String()
  54788. }
  54789. // SetGroup sets the Group field's value.
  54790. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  54791. s.Group = &v
  54792. return s
  54793. }
  54794. // SetUserId sets the UserId field's value.
  54795. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  54796. s.UserId = &v
  54797. return s
  54798. }
  54799. // Describes a launch permission modification.
  54800. type LaunchPermissionModifications struct {
  54801. _ struct{} `type:"structure"`
  54802. // The AWS account ID to add to the list of launch permissions for the AMI.
  54803. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  54804. // The AWS account ID to remove from the list of launch permissions for the
  54805. // AMI.
  54806. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  54807. }
  54808. // String returns the string representation
  54809. func (s LaunchPermissionModifications) String() string {
  54810. return awsutil.Prettify(s)
  54811. }
  54812. // GoString returns the string representation
  54813. func (s LaunchPermissionModifications) GoString() string {
  54814. return s.String()
  54815. }
  54816. // SetAdd sets the Add field's value.
  54817. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  54818. s.Add = v
  54819. return s
  54820. }
  54821. // SetRemove sets the Remove field's value.
  54822. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  54823. s.Remove = v
  54824. return s
  54825. }
  54826. // Describes the launch specification for an instance.
  54827. type LaunchSpecification struct {
  54828. _ struct{} `type:"structure"`
  54829. // Deprecated.
  54830. AddressingType *string `locationName:"addressingType" type:"string"`
  54831. // One or more block device mapping entries.
  54832. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  54833. // Indicates whether the instance is optimized for EBS I/O. This optimization
  54834. // provides dedicated throughput to Amazon EBS and an optimized configuration
  54835. // stack to provide optimal EBS I/O performance. This optimization isn't available
  54836. // with all instance types. Additional usage charges apply when using an EBS
  54837. // Optimized instance.
  54838. //
  54839. // Default: false
  54840. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  54841. // The IAM instance profile.
  54842. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  54843. // The ID of the AMI.
  54844. ImageId *string `locationName:"imageId" type:"string"`
  54845. // The instance type.
  54846. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  54847. // The ID of the kernel.
  54848. KernelId *string `locationName:"kernelId" type:"string"`
  54849. // The name of the key pair.
  54850. KeyName *string `locationName:"keyName" type:"string"`
  54851. // Describes the monitoring of an instance.
  54852. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  54853. // One or more network interfaces. If you specify a network interface, you must
  54854. // specify subnet IDs and security group IDs using the network interface.
  54855. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  54856. // The placement information for the instance.
  54857. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  54858. // The ID of the RAM disk.
  54859. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  54860. // One or more security groups. When requesting instances in a VPC, you must
  54861. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  54862. // you can specify the names or the IDs of the security groups.
  54863. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  54864. // The ID of the subnet in which to launch the instance.
  54865. SubnetId *string `locationName:"subnetId" type:"string"`
  54866. // The Base64-encoded user data for the instance.
  54867. UserData *string `locationName:"userData" type:"string"`
  54868. }
  54869. // String returns the string representation
  54870. func (s LaunchSpecification) String() string {
  54871. return awsutil.Prettify(s)
  54872. }
  54873. // GoString returns the string representation
  54874. func (s LaunchSpecification) GoString() string {
  54875. return s.String()
  54876. }
  54877. // SetAddressingType sets the AddressingType field's value.
  54878. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  54879. s.AddressingType = &v
  54880. return s
  54881. }
  54882. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  54883. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  54884. s.BlockDeviceMappings = v
  54885. return s
  54886. }
  54887. // SetEbsOptimized sets the EbsOptimized field's value.
  54888. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  54889. s.EbsOptimized = &v
  54890. return s
  54891. }
  54892. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  54893. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  54894. s.IamInstanceProfile = v
  54895. return s
  54896. }
  54897. // SetImageId sets the ImageId field's value.
  54898. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  54899. s.ImageId = &v
  54900. return s
  54901. }
  54902. // SetInstanceType sets the InstanceType field's value.
  54903. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  54904. s.InstanceType = &v
  54905. return s
  54906. }
  54907. // SetKernelId sets the KernelId field's value.
  54908. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  54909. s.KernelId = &v
  54910. return s
  54911. }
  54912. // SetKeyName sets the KeyName field's value.
  54913. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  54914. s.KeyName = &v
  54915. return s
  54916. }
  54917. // SetMonitoring sets the Monitoring field's value.
  54918. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  54919. s.Monitoring = v
  54920. return s
  54921. }
  54922. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  54923. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  54924. s.NetworkInterfaces = v
  54925. return s
  54926. }
  54927. // SetPlacement sets the Placement field's value.
  54928. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  54929. s.Placement = v
  54930. return s
  54931. }
  54932. // SetRamdiskId sets the RamdiskId field's value.
  54933. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  54934. s.RamdiskId = &v
  54935. return s
  54936. }
  54937. // SetSecurityGroups sets the SecurityGroups field's value.
  54938. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  54939. s.SecurityGroups = v
  54940. return s
  54941. }
  54942. // SetSubnetId sets the SubnetId field's value.
  54943. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  54944. s.SubnetId = &v
  54945. return s
  54946. }
  54947. // SetUserData sets the UserData field's value.
  54948. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  54949. s.UserData = &v
  54950. return s
  54951. }
  54952. // Describes a launch template.
  54953. type LaunchTemplate struct {
  54954. _ struct{} `type:"structure"`
  54955. // The time launch template was created.
  54956. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  54957. // The principal that created the launch template.
  54958. CreatedBy *string `locationName:"createdBy" type:"string"`
  54959. // The version number of the default version of the launch template.
  54960. DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
  54961. // The version number of the latest version of the launch template.
  54962. LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
  54963. // The ID of the launch template.
  54964. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  54965. // The name of the launch template.
  54966. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  54967. // The tags for the launch template.
  54968. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  54969. }
  54970. // String returns the string representation
  54971. func (s LaunchTemplate) String() string {
  54972. return awsutil.Prettify(s)
  54973. }
  54974. // GoString returns the string representation
  54975. func (s LaunchTemplate) GoString() string {
  54976. return s.String()
  54977. }
  54978. // SetCreateTime sets the CreateTime field's value.
  54979. func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
  54980. s.CreateTime = &v
  54981. return s
  54982. }
  54983. // SetCreatedBy sets the CreatedBy field's value.
  54984. func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
  54985. s.CreatedBy = &v
  54986. return s
  54987. }
  54988. // SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
  54989. func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
  54990. s.DefaultVersionNumber = &v
  54991. return s
  54992. }
  54993. // SetLatestVersionNumber sets the LatestVersionNumber field's value.
  54994. func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
  54995. s.LatestVersionNumber = &v
  54996. return s
  54997. }
  54998. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  54999. func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
  55000. s.LaunchTemplateId = &v
  55001. return s
  55002. }
  55003. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  55004. func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
  55005. s.LaunchTemplateName = &v
  55006. return s
  55007. }
  55008. // SetTags sets the Tags field's value.
  55009. func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
  55010. s.Tags = v
  55011. return s
  55012. }
  55013. // Describes a launch template and overrides.
  55014. type LaunchTemplateAndOverridesResponse struct {
  55015. _ struct{} `type:"structure"`
  55016. // The launch template.
  55017. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  55018. // Any parameters that you specify override the same parameters in the launch
  55019. // template.
  55020. Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
  55021. }
  55022. // String returns the string representation
  55023. func (s LaunchTemplateAndOverridesResponse) String() string {
  55024. return awsutil.Prettify(s)
  55025. }
  55026. // GoString returns the string representation
  55027. func (s LaunchTemplateAndOverridesResponse) GoString() string {
  55028. return s.String()
  55029. }
  55030. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  55031. func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
  55032. s.LaunchTemplateSpecification = v
  55033. return s
  55034. }
  55035. // SetOverrides sets the Overrides field's value.
  55036. func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
  55037. s.Overrides = v
  55038. return s
  55039. }
  55040. // Describes a block device mapping.
  55041. type LaunchTemplateBlockDeviceMapping struct {
  55042. _ struct{} `type:"structure"`
  55043. // The device name.
  55044. DeviceName *string `locationName:"deviceName" type:"string"`
  55045. // Information about the block device for an EBS volume.
  55046. Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
  55047. // Suppresses the specified device included in the block device mapping of the
  55048. // AMI.
  55049. NoDevice *string `locationName:"noDevice" type:"string"`
  55050. // The virtual device name (ephemeralN).
  55051. VirtualName *string `locationName:"virtualName" type:"string"`
  55052. }
  55053. // String returns the string representation
  55054. func (s LaunchTemplateBlockDeviceMapping) String() string {
  55055. return awsutil.Prettify(s)
  55056. }
  55057. // GoString returns the string representation
  55058. func (s LaunchTemplateBlockDeviceMapping) GoString() string {
  55059. return s.String()
  55060. }
  55061. // SetDeviceName sets the DeviceName field's value.
  55062. func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
  55063. s.DeviceName = &v
  55064. return s
  55065. }
  55066. // SetEbs sets the Ebs field's value.
  55067. func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
  55068. s.Ebs = v
  55069. return s
  55070. }
  55071. // SetNoDevice sets the NoDevice field's value.
  55072. func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
  55073. s.NoDevice = &v
  55074. return s
  55075. }
  55076. // SetVirtualName sets the VirtualName field's value.
  55077. func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
  55078. s.VirtualName = &v
  55079. return s
  55080. }
  55081. // Describes a block device mapping.
  55082. type LaunchTemplateBlockDeviceMappingRequest struct {
  55083. _ struct{} `type:"structure"`
  55084. // The device name (for example, /dev/sdh or xvdh).
  55085. DeviceName *string `type:"string"`
  55086. // Parameters used to automatically set up EBS volumes when the instance is
  55087. // launched.
  55088. Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
  55089. // Suppresses the specified device included in the block device mapping of the
  55090. // AMI.
  55091. NoDevice *string `type:"string"`
  55092. // The virtual device name (ephemeralN). Instance store volumes are numbered
  55093. // starting from 0. An instance type with 2 available instance store volumes
  55094. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  55095. // instance store volumes depends on the instance type. After you connect to
  55096. // the instance, you must mount the volume.
  55097. VirtualName *string `type:"string"`
  55098. }
  55099. // String returns the string representation
  55100. func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
  55101. return awsutil.Prettify(s)
  55102. }
  55103. // GoString returns the string representation
  55104. func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
  55105. return s.String()
  55106. }
  55107. // SetDeviceName sets the DeviceName field's value.
  55108. func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  55109. s.DeviceName = &v
  55110. return s
  55111. }
  55112. // SetEbs sets the Ebs field's value.
  55113. func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
  55114. s.Ebs = v
  55115. return s
  55116. }
  55117. // SetNoDevice sets the NoDevice field's value.
  55118. func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
  55119. s.NoDevice = &v
  55120. return s
  55121. }
  55122. // SetVirtualName sets the VirtualName field's value.
  55123. func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
  55124. s.VirtualName = &v
  55125. return s
  55126. }
  55127. // Describes an instance's Capacity Reservation targeting option. You can specify
  55128. // only one option at a time. Use the CapacityReservationPreference parameter
  55129. // to configure the instance to run in On-Demand capacity or to run in any open
  55130. // Capacity Reservation that has matching attributes (instance type, platform,
  55131. // Availability Zone). Use the CapacityReservationTarget parameter to explicitly
  55132. // target a specific Capacity Reservation.
  55133. type LaunchTemplateCapacityReservationSpecificationRequest struct {
  55134. _ struct{} `type:"structure"`
  55135. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  55136. // include:
  55137. //
  55138. // * open - The instance can run in any open Capacity Reservation that has
  55139. // matching attributes (instance type, platform, Availability Zone).
  55140. //
  55141. // * none - The instance avoids running in a Capacity Reservation even if
  55142. // one is available. The instance runs in On-Demand capacity.
  55143. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
  55144. // Information about the target Capacity Reservation.
  55145. CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
  55146. }
  55147. // String returns the string representation
  55148. func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
  55149. return awsutil.Prettify(s)
  55150. }
  55151. // GoString returns the string representation
  55152. func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
  55153. return s.String()
  55154. }
  55155. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  55156. func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
  55157. s.CapacityReservationPreference = &v
  55158. return s
  55159. }
  55160. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  55161. func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
  55162. s.CapacityReservationTarget = v
  55163. return s
  55164. }
  55165. // Information about the Capacity Reservation targeting option.
  55166. type LaunchTemplateCapacityReservationSpecificationResponse struct {
  55167. _ struct{} `type:"structure"`
  55168. // Indicates the instance's Capacity Reservation preferences. Possible preferences
  55169. // include:
  55170. //
  55171. // * open - The instance can run in any open Capacity Reservation that has
  55172. // matching attributes (instance type, platform, Availability Zone).
  55173. //
  55174. // * none - The instance avoids running in a Capacity Reservation even if
  55175. // one is available. The instance runs in On-Demand capacity.
  55176. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
  55177. // Information about the target Capacity Reservation.
  55178. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
  55179. }
  55180. // String returns the string representation
  55181. func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
  55182. return awsutil.Prettify(s)
  55183. }
  55184. // GoString returns the string representation
  55185. func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
  55186. return s.String()
  55187. }
  55188. // SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
  55189. func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
  55190. s.CapacityReservationPreference = &v
  55191. return s
  55192. }
  55193. // SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
  55194. func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
  55195. s.CapacityReservationTarget = v
  55196. return s
  55197. }
  55198. // Describes a launch template and overrides.
  55199. type LaunchTemplateConfig struct {
  55200. _ struct{} `type:"structure"`
  55201. // The launch template.
  55202. LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
  55203. // Any parameters that you specify override the same parameters in the launch
  55204. // template.
  55205. Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
  55206. }
  55207. // String returns the string representation
  55208. func (s LaunchTemplateConfig) String() string {
  55209. return awsutil.Prettify(s)
  55210. }
  55211. // GoString returns the string representation
  55212. func (s LaunchTemplateConfig) GoString() string {
  55213. return s.String()
  55214. }
  55215. // Validate inspects the fields of the type to determine if they are valid.
  55216. func (s *LaunchTemplateConfig) Validate() error {
  55217. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
  55218. if s.LaunchTemplateSpecification != nil {
  55219. if err := s.LaunchTemplateSpecification.Validate(); err != nil {
  55220. invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
  55221. }
  55222. }
  55223. if invalidParams.Len() > 0 {
  55224. return invalidParams
  55225. }
  55226. return nil
  55227. }
  55228. // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
  55229. func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
  55230. s.LaunchTemplateSpecification = v
  55231. return s
  55232. }
  55233. // SetOverrides sets the Overrides field's value.
  55234. func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
  55235. s.Overrides = v
  55236. return s
  55237. }
  55238. // The CPU options for the instance.
  55239. type LaunchTemplateCpuOptions struct {
  55240. _ struct{} `type:"structure"`
  55241. // The number of CPU cores for the instance.
  55242. CoreCount *int64 `locationName:"coreCount" type:"integer"`
  55243. // The number of threads per CPU core.
  55244. ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
  55245. }
  55246. // String returns the string representation
  55247. func (s LaunchTemplateCpuOptions) String() string {
  55248. return awsutil.Prettify(s)
  55249. }
  55250. // GoString returns the string representation
  55251. func (s LaunchTemplateCpuOptions) GoString() string {
  55252. return s.String()
  55253. }
  55254. // SetCoreCount sets the CoreCount field's value.
  55255. func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
  55256. s.CoreCount = &v
  55257. return s
  55258. }
  55259. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  55260. func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
  55261. s.ThreadsPerCore = &v
  55262. return s
  55263. }
  55264. // The CPU options for the instance. Both the core count and threads per core
  55265. // must be specified in the request.
  55266. type LaunchTemplateCpuOptionsRequest struct {
  55267. _ struct{} `type:"structure"`
  55268. // The number of CPU cores for the instance.
  55269. CoreCount *int64 `type:"integer"`
  55270. // The number of threads per CPU core. To disable Intel Hyper-Threading Technology
  55271. // for the instance, specify a value of 1. Otherwise, specify the default value
  55272. // of 2.
  55273. ThreadsPerCore *int64 `type:"integer"`
  55274. }
  55275. // String returns the string representation
  55276. func (s LaunchTemplateCpuOptionsRequest) String() string {
  55277. return awsutil.Prettify(s)
  55278. }
  55279. // GoString returns the string representation
  55280. func (s LaunchTemplateCpuOptionsRequest) GoString() string {
  55281. return s.String()
  55282. }
  55283. // SetCoreCount sets the CoreCount field's value.
  55284. func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
  55285. s.CoreCount = &v
  55286. return s
  55287. }
  55288. // SetThreadsPerCore sets the ThreadsPerCore field's value.
  55289. func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
  55290. s.ThreadsPerCore = &v
  55291. return s
  55292. }
  55293. // Describes a block device for an EBS volume.
  55294. type LaunchTemplateEbsBlockDevice struct {
  55295. _ struct{} `type:"structure"`
  55296. // Indicates whether the EBS volume is deleted on instance termination.
  55297. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  55298. // Indicates whether the EBS volume is encrypted.
  55299. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  55300. // The number of I/O operations per second (IOPS) that the volume supports.
  55301. Iops *int64 `locationName:"iops" type:"integer"`
  55302. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  55303. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  55304. // The ID of the snapshot.
  55305. SnapshotId *string `locationName:"snapshotId" type:"string"`
  55306. // The size of the volume, in GiB.
  55307. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  55308. // The volume type.
  55309. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  55310. }
  55311. // String returns the string representation
  55312. func (s LaunchTemplateEbsBlockDevice) String() string {
  55313. return awsutil.Prettify(s)
  55314. }
  55315. // GoString returns the string representation
  55316. func (s LaunchTemplateEbsBlockDevice) GoString() string {
  55317. return s.String()
  55318. }
  55319. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  55320. func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
  55321. s.DeleteOnTermination = &v
  55322. return s
  55323. }
  55324. // SetEncrypted sets the Encrypted field's value.
  55325. func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
  55326. s.Encrypted = &v
  55327. return s
  55328. }
  55329. // SetIops sets the Iops field's value.
  55330. func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
  55331. s.Iops = &v
  55332. return s
  55333. }
  55334. // SetKmsKeyId sets the KmsKeyId field's value.
  55335. func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
  55336. s.KmsKeyId = &v
  55337. return s
  55338. }
  55339. // SetSnapshotId sets the SnapshotId field's value.
  55340. func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
  55341. s.SnapshotId = &v
  55342. return s
  55343. }
  55344. // SetVolumeSize sets the VolumeSize field's value.
  55345. func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
  55346. s.VolumeSize = &v
  55347. return s
  55348. }
  55349. // SetVolumeType sets the VolumeType field's value.
  55350. func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
  55351. s.VolumeType = &v
  55352. return s
  55353. }
  55354. // The parameters for a block device for an EBS volume.
  55355. type LaunchTemplateEbsBlockDeviceRequest struct {
  55356. _ struct{} `type:"structure"`
  55357. // Indicates whether the EBS volume is deleted on instance termination.
  55358. DeleteOnTermination *bool `type:"boolean"`
  55359. // Indicates whether the EBS volume is encrypted. Encrypted volumes can only
  55360. // be attached to instances that support Amazon EBS encryption. If you are creating
  55361. // a volume from a snapshot, you can't specify an encryption value.
  55362. Encrypted *bool `type:"boolean"`
  55363. // The number of I/O operations per second (IOPS) that the volume supports.
  55364. // For io1, this represents the number of IOPS that are provisioned for the
  55365. // volume. For gp2, this represents the baseline performance of the volume and
  55366. // the rate at which the volume accumulates I/O credits for bursting. For more
  55367. // information about General Purpose SSD baseline performance, I/O credits,
  55368. // and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud
  55369. // User Guide.
  55370. //
  55371. // Condition: This parameter is required for requests to create io1 volumes;
  55372. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  55373. Iops *int64 `type:"integer"`
  55374. // The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
  55375. KmsKeyId *string `type:"string"`
  55376. // The ID of the snapshot.
  55377. SnapshotId *string `type:"string"`
  55378. // The size of the volume, in GiB.
  55379. //
  55380. // Default: If you're creating the volume from a snapshot and don't specify
  55381. // a volume size, the default is the snapshot size.
  55382. VolumeSize *int64 `type:"integer"`
  55383. // The volume type.
  55384. VolumeType *string `type:"string" enum:"VolumeType"`
  55385. }
  55386. // String returns the string representation
  55387. func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
  55388. return awsutil.Prettify(s)
  55389. }
  55390. // GoString returns the string representation
  55391. func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
  55392. return s.String()
  55393. }
  55394. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  55395. func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  55396. s.DeleteOnTermination = &v
  55397. return s
  55398. }
  55399. // SetEncrypted sets the Encrypted field's value.
  55400. func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
  55401. s.Encrypted = &v
  55402. return s
  55403. }
  55404. // SetIops sets the Iops field's value.
  55405. func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  55406. s.Iops = &v
  55407. return s
  55408. }
  55409. // SetKmsKeyId sets the KmsKeyId field's value.
  55410. func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  55411. s.KmsKeyId = &v
  55412. return s
  55413. }
  55414. // SetSnapshotId sets the SnapshotId field's value.
  55415. func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
  55416. s.SnapshotId = &v
  55417. return s
  55418. }
  55419. // SetVolumeSize sets the VolumeSize field's value.
  55420. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
  55421. s.VolumeSize = &v
  55422. return s
  55423. }
  55424. // SetVolumeType sets the VolumeType field's value.
  55425. func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
  55426. s.VolumeType = &v
  55427. return s
  55428. }
  55429. // Describes an elastic inference accelerator.
  55430. type LaunchTemplateElasticInferenceAccelerator struct {
  55431. _ struct{} `type:"structure"`
  55432. // The type of elastic inference accelerator. The possible values are eia1.medium,
  55433. // eia1.large, and eia1.xlarge.
  55434. //
  55435. // Type is a required field
  55436. Type *string `type:"string" required:"true"`
  55437. }
  55438. // String returns the string representation
  55439. func (s LaunchTemplateElasticInferenceAccelerator) String() string {
  55440. return awsutil.Prettify(s)
  55441. }
  55442. // GoString returns the string representation
  55443. func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
  55444. return s.String()
  55445. }
  55446. // Validate inspects the fields of the type to determine if they are valid.
  55447. func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
  55448. invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
  55449. if s.Type == nil {
  55450. invalidParams.Add(request.NewErrParamRequired("Type"))
  55451. }
  55452. if invalidParams.Len() > 0 {
  55453. return invalidParams
  55454. }
  55455. return nil
  55456. }
  55457. // SetType sets the Type field's value.
  55458. func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
  55459. s.Type = &v
  55460. return s
  55461. }
  55462. // Describes an elastic inference accelerator.
  55463. type LaunchTemplateElasticInferenceAcceleratorResponse struct {
  55464. _ struct{} `type:"structure"`
  55465. // The type of elastic inference accelerator. The possible values are eia1.medium,
  55466. // eia1.large, and eia1.xlarge.
  55467. Type *string `locationName:"type" type:"string"`
  55468. }
  55469. // String returns the string representation
  55470. func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
  55471. return awsutil.Prettify(s)
  55472. }
  55473. // GoString returns the string representation
  55474. func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
  55475. return s.String()
  55476. }
  55477. // SetType sets the Type field's value.
  55478. func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
  55479. s.Type = &v
  55480. return s
  55481. }
  55482. // Indicates whether an instance is configured for hibernation.
  55483. type LaunchTemplateHibernationOptions struct {
  55484. _ struct{} `type:"structure"`
  55485. // If this parameter is set to true, the instance is enabled for hibernation;
  55486. // otherwise, it is not enabled for hibernation.
  55487. Configured *bool `locationName:"configured" type:"boolean"`
  55488. }
  55489. // String returns the string representation
  55490. func (s LaunchTemplateHibernationOptions) String() string {
  55491. return awsutil.Prettify(s)
  55492. }
  55493. // GoString returns the string representation
  55494. func (s LaunchTemplateHibernationOptions) GoString() string {
  55495. return s.String()
  55496. }
  55497. // SetConfigured sets the Configured field's value.
  55498. func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
  55499. s.Configured = &v
  55500. return s
  55501. }
  55502. // Indicates whether the instance is configured for hibernation. This parameter
  55503. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  55504. // Hibernation is currently supported only for Amazon Linux.
  55505. type LaunchTemplateHibernationOptionsRequest struct {
  55506. _ struct{} `type:"structure"`
  55507. // If you set this parameter to true, the instance is enabled for hibernation.
  55508. //
  55509. // Default: false
  55510. Configured *bool `type:"boolean"`
  55511. }
  55512. // String returns the string representation
  55513. func (s LaunchTemplateHibernationOptionsRequest) String() string {
  55514. return awsutil.Prettify(s)
  55515. }
  55516. // GoString returns the string representation
  55517. func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
  55518. return s.String()
  55519. }
  55520. // SetConfigured sets the Configured field's value.
  55521. func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
  55522. s.Configured = &v
  55523. return s
  55524. }
  55525. // Describes an IAM instance profile.
  55526. type LaunchTemplateIamInstanceProfileSpecification struct {
  55527. _ struct{} `type:"structure"`
  55528. // The Amazon Resource Name (ARN) of the instance profile.
  55529. Arn *string `locationName:"arn" type:"string"`
  55530. // The name of the instance profile.
  55531. Name *string `locationName:"name" type:"string"`
  55532. }
  55533. // String returns the string representation
  55534. func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
  55535. return awsutil.Prettify(s)
  55536. }
  55537. // GoString returns the string representation
  55538. func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
  55539. return s.String()
  55540. }
  55541. // SetArn sets the Arn field's value.
  55542. func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
  55543. s.Arn = &v
  55544. return s
  55545. }
  55546. // SetName sets the Name field's value.
  55547. func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
  55548. s.Name = &v
  55549. return s
  55550. }
  55551. // An IAM instance profile.
  55552. type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
  55553. _ struct{} `type:"structure"`
  55554. // The Amazon Resource Name (ARN) of the instance profile.
  55555. Arn *string `type:"string"`
  55556. // The name of the instance profile.
  55557. Name *string `type:"string"`
  55558. }
  55559. // String returns the string representation
  55560. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
  55561. return awsutil.Prettify(s)
  55562. }
  55563. // GoString returns the string representation
  55564. func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
  55565. return s.String()
  55566. }
  55567. // SetArn sets the Arn field's value.
  55568. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  55569. s.Arn = &v
  55570. return s
  55571. }
  55572. // SetName sets the Name field's value.
  55573. func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
  55574. s.Name = &v
  55575. return s
  55576. }
  55577. // The market (purchasing) option for the instances.
  55578. type LaunchTemplateInstanceMarketOptions struct {
  55579. _ struct{} `type:"structure"`
  55580. // The market type.
  55581. MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
  55582. // The options for Spot Instances.
  55583. SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
  55584. }
  55585. // String returns the string representation
  55586. func (s LaunchTemplateInstanceMarketOptions) String() string {
  55587. return awsutil.Prettify(s)
  55588. }
  55589. // GoString returns the string representation
  55590. func (s LaunchTemplateInstanceMarketOptions) GoString() string {
  55591. return s.String()
  55592. }
  55593. // SetMarketType sets the MarketType field's value.
  55594. func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
  55595. s.MarketType = &v
  55596. return s
  55597. }
  55598. // SetSpotOptions sets the SpotOptions field's value.
  55599. func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
  55600. s.SpotOptions = v
  55601. return s
  55602. }
  55603. // The market (purchasing) option for the instances.
  55604. type LaunchTemplateInstanceMarketOptionsRequest struct {
  55605. _ struct{} `type:"structure"`
  55606. // The market type.
  55607. MarketType *string `type:"string" enum:"MarketType"`
  55608. // The options for Spot Instances.
  55609. SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
  55610. }
  55611. // String returns the string representation
  55612. func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
  55613. return awsutil.Prettify(s)
  55614. }
  55615. // GoString returns the string representation
  55616. func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
  55617. return s.String()
  55618. }
  55619. // SetMarketType sets the MarketType field's value.
  55620. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
  55621. s.MarketType = &v
  55622. return s
  55623. }
  55624. // SetSpotOptions sets the SpotOptions field's value.
  55625. func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
  55626. s.SpotOptions = v
  55627. return s
  55628. }
  55629. // Describes a network interface.
  55630. type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
  55631. _ struct{} `type:"structure"`
  55632. // Indicates whether to associate a public IPv4 address with eth0 for a new
  55633. // network interface.
  55634. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  55635. // Indicates whether the network interface is deleted when the instance is terminated.
  55636. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  55637. // A description for the network interface.
  55638. Description *string `locationName:"description" type:"string"`
  55639. // The device index for the network interface attachment.
  55640. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  55641. // The IDs of one or more security groups.
  55642. Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
  55643. // The number of IPv6 addresses for the network interface.
  55644. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  55645. // The IPv6 addresses for the network interface.
  55646. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  55647. // The ID of the network interface.
  55648. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  55649. // The primary private IPv4 address of the network interface.
  55650. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  55651. // One or more private IPv4 addresses.
  55652. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  55653. // The number of secondary private IPv4 addresses for the network interface.
  55654. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  55655. // The ID of the subnet for the network interface.
  55656. SubnetId *string `locationName:"subnetId" type:"string"`
  55657. }
  55658. // String returns the string representation
  55659. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
  55660. return awsutil.Prettify(s)
  55661. }
  55662. // GoString returns the string representation
  55663. func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
  55664. return s.String()
  55665. }
  55666. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  55667. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55668. s.AssociatePublicIpAddress = &v
  55669. return s
  55670. }
  55671. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  55672. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55673. s.DeleteOnTermination = &v
  55674. return s
  55675. }
  55676. // SetDescription sets the Description field's value.
  55677. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55678. s.Description = &v
  55679. return s
  55680. }
  55681. // SetDeviceIndex sets the DeviceIndex field's value.
  55682. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55683. s.DeviceIndex = &v
  55684. return s
  55685. }
  55686. // SetGroups sets the Groups field's value.
  55687. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55688. s.Groups = v
  55689. return s
  55690. }
  55691. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  55692. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55693. s.Ipv6AddressCount = &v
  55694. return s
  55695. }
  55696. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  55697. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55698. s.Ipv6Addresses = v
  55699. return s
  55700. }
  55701. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  55702. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55703. s.NetworkInterfaceId = &v
  55704. return s
  55705. }
  55706. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  55707. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55708. s.PrivateIpAddress = &v
  55709. return s
  55710. }
  55711. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  55712. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55713. s.PrivateIpAddresses = v
  55714. return s
  55715. }
  55716. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  55717. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55718. s.SecondaryPrivateIpAddressCount = &v
  55719. return s
  55720. }
  55721. // SetSubnetId sets the SubnetId field's value.
  55722. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
  55723. s.SubnetId = &v
  55724. return s
  55725. }
  55726. // The parameters for a network interface.
  55727. type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
  55728. _ struct{} `type:"structure"`
  55729. // Associates a public IPv4 address with eth0 for a new network interface.
  55730. AssociatePublicIpAddress *bool `type:"boolean"`
  55731. // Indicates whether the network interface is deleted when the instance is terminated.
  55732. DeleteOnTermination *bool `type:"boolean"`
  55733. // A description for the network interface.
  55734. Description *string `type:"string"`
  55735. // The device index for the network interface attachment.
  55736. DeviceIndex *int64 `type:"integer"`
  55737. // The IDs of one or more security groups.
  55738. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  55739. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  55740. // automatically selects the IPv6 addresses from the subnet range. You can't
  55741. // use this option if specifying specific IPv6 addresses.
  55742. Ipv6AddressCount *int64 `type:"integer"`
  55743. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  55744. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  55745. Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
  55746. // The ID of the network interface.
  55747. NetworkInterfaceId *string `type:"string"`
  55748. // The primary private IPv4 address of the network interface.
  55749. PrivateIpAddress *string `type:"string"`
  55750. // One or more private IPv4 addresses.
  55751. PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
  55752. // The number of secondary private IPv4 addresses to assign to a network interface.
  55753. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  55754. // The ID of the subnet for the network interface.
  55755. SubnetId *string `type:"string"`
  55756. }
  55757. // String returns the string representation
  55758. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
  55759. return awsutil.Prettify(s)
  55760. }
  55761. // GoString returns the string representation
  55762. func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
  55763. return s.String()
  55764. }
  55765. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  55766. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55767. s.AssociatePublicIpAddress = &v
  55768. return s
  55769. }
  55770. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  55771. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55772. s.DeleteOnTermination = &v
  55773. return s
  55774. }
  55775. // SetDescription sets the Description field's value.
  55776. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55777. s.Description = &v
  55778. return s
  55779. }
  55780. // SetDeviceIndex sets the DeviceIndex field's value.
  55781. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55782. s.DeviceIndex = &v
  55783. return s
  55784. }
  55785. // SetGroups sets the Groups field's value.
  55786. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55787. s.Groups = v
  55788. return s
  55789. }
  55790. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  55791. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55792. s.Ipv6AddressCount = &v
  55793. return s
  55794. }
  55795. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  55796. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55797. s.Ipv6Addresses = v
  55798. return s
  55799. }
  55800. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  55801. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55802. s.NetworkInterfaceId = &v
  55803. return s
  55804. }
  55805. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  55806. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55807. s.PrivateIpAddress = &v
  55808. return s
  55809. }
  55810. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  55811. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55812. s.PrivateIpAddresses = v
  55813. return s
  55814. }
  55815. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  55816. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55817. s.SecondaryPrivateIpAddressCount = &v
  55818. return s
  55819. }
  55820. // SetSubnetId sets the SubnetId field's value.
  55821. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
  55822. s.SubnetId = &v
  55823. return s
  55824. }
  55825. // Describes a license configuration.
  55826. type LaunchTemplateLicenseConfiguration struct {
  55827. _ struct{} `type:"structure"`
  55828. // The Amazon Resource Name (ARN) of the license configuration.
  55829. LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
  55830. }
  55831. // String returns the string representation
  55832. func (s LaunchTemplateLicenseConfiguration) String() string {
  55833. return awsutil.Prettify(s)
  55834. }
  55835. // GoString returns the string representation
  55836. func (s LaunchTemplateLicenseConfiguration) GoString() string {
  55837. return s.String()
  55838. }
  55839. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  55840. func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
  55841. s.LicenseConfigurationArn = &v
  55842. return s
  55843. }
  55844. // Describes a license configuration.
  55845. type LaunchTemplateLicenseConfigurationRequest struct {
  55846. _ struct{} `type:"structure"`
  55847. // The Amazon Resource Name (ARN) of the license configuration.
  55848. LicenseConfigurationArn *string `type:"string"`
  55849. }
  55850. // String returns the string representation
  55851. func (s LaunchTemplateLicenseConfigurationRequest) String() string {
  55852. return awsutil.Prettify(s)
  55853. }
  55854. // GoString returns the string representation
  55855. func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
  55856. return s.String()
  55857. }
  55858. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  55859. func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
  55860. s.LicenseConfigurationArn = &v
  55861. return s
  55862. }
  55863. // Describes overrides for a launch template.
  55864. type LaunchTemplateOverrides struct {
  55865. _ struct{} `type:"structure"`
  55866. // The Availability Zone in which to launch the instances.
  55867. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55868. // The instance type.
  55869. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  55870. // The priority for the launch template override. If OnDemandAllocationStrategy
  55871. // is set to prioritized, Spot Fleet uses priority to determine which launch
  55872. // template override to use first in fulfilling On-Demand capacity. The highest
  55873. // priority is launched first. Valid values are whole numbers starting at 0.
  55874. // The lower the number, the higher the priority. If no number is set, the launch
  55875. // template override has the lowest priority.
  55876. Priority *float64 `locationName:"priority" type:"double"`
  55877. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  55878. SpotPrice *string `locationName:"spotPrice" type:"string"`
  55879. // The ID of the subnet in which to launch the instances.
  55880. SubnetId *string `locationName:"subnetId" type:"string"`
  55881. // The number of units provided by the specified instance type.
  55882. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  55883. }
  55884. // String returns the string representation
  55885. func (s LaunchTemplateOverrides) String() string {
  55886. return awsutil.Prettify(s)
  55887. }
  55888. // GoString returns the string representation
  55889. func (s LaunchTemplateOverrides) GoString() string {
  55890. return s.String()
  55891. }
  55892. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55893. func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
  55894. s.AvailabilityZone = &v
  55895. return s
  55896. }
  55897. // SetInstanceType sets the InstanceType field's value.
  55898. func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
  55899. s.InstanceType = &v
  55900. return s
  55901. }
  55902. // SetPriority sets the Priority field's value.
  55903. func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
  55904. s.Priority = &v
  55905. return s
  55906. }
  55907. // SetSpotPrice sets the SpotPrice field's value.
  55908. func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
  55909. s.SpotPrice = &v
  55910. return s
  55911. }
  55912. // SetSubnetId sets the SubnetId field's value.
  55913. func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
  55914. s.SubnetId = &v
  55915. return s
  55916. }
  55917. // SetWeightedCapacity sets the WeightedCapacity field's value.
  55918. func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
  55919. s.WeightedCapacity = &v
  55920. return s
  55921. }
  55922. // Describes the placement of an instance.
  55923. type LaunchTemplatePlacement struct {
  55924. _ struct{} `type:"structure"`
  55925. // The affinity setting for the instance on the Dedicated Host.
  55926. Affinity *string `locationName:"affinity" type:"string"`
  55927. // The Availability Zone of the instance.
  55928. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  55929. // The name of the placement group for the instance.
  55930. GroupName *string `locationName:"groupName" type:"string"`
  55931. // The ID of the Dedicated Host for the instance.
  55932. HostId *string `locationName:"hostId" type:"string"`
  55933. // Reserved for future use.
  55934. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  55935. // The tenancy of the instance (if the instance is running in a VPC). An instance
  55936. // with a tenancy of dedicated runs on single-tenant hardware.
  55937. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  55938. }
  55939. // String returns the string representation
  55940. func (s LaunchTemplatePlacement) String() string {
  55941. return awsutil.Prettify(s)
  55942. }
  55943. // GoString returns the string representation
  55944. func (s LaunchTemplatePlacement) GoString() string {
  55945. return s.String()
  55946. }
  55947. // SetAffinity sets the Affinity field's value.
  55948. func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
  55949. s.Affinity = &v
  55950. return s
  55951. }
  55952. // SetAvailabilityZone sets the AvailabilityZone field's value.
  55953. func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
  55954. s.AvailabilityZone = &v
  55955. return s
  55956. }
  55957. // SetGroupName sets the GroupName field's value.
  55958. func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
  55959. s.GroupName = &v
  55960. return s
  55961. }
  55962. // SetHostId sets the HostId field's value.
  55963. func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
  55964. s.HostId = &v
  55965. return s
  55966. }
  55967. // SetSpreadDomain sets the SpreadDomain field's value.
  55968. func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
  55969. s.SpreadDomain = &v
  55970. return s
  55971. }
  55972. // SetTenancy sets the Tenancy field's value.
  55973. func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
  55974. s.Tenancy = &v
  55975. return s
  55976. }
  55977. // Describes the placement of an instance.
  55978. type LaunchTemplatePlacementRequest struct {
  55979. _ struct{} `type:"structure"`
  55980. // The affinity setting for an instance on a Dedicated Host.
  55981. Affinity *string `type:"string"`
  55982. // The Availability Zone for the instance.
  55983. AvailabilityZone *string `type:"string"`
  55984. // The name of the placement group for the instance.
  55985. GroupName *string `type:"string"`
  55986. // The ID of the Dedicated Host for the instance.
  55987. HostId *string `type:"string"`
  55988. // Reserved for future use.
  55989. SpreadDomain *string `type:"string"`
  55990. // The tenancy of the instance (if the instance is running in a VPC). An instance
  55991. // with a tenancy of dedicated runs on single-tenant hardware.
  55992. Tenancy *string `type:"string" enum:"Tenancy"`
  55993. }
  55994. // String returns the string representation
  55995. func (s LaunchTemplatePlacementRequest) String() string {
  55996. return awsutil.Prettify(s)
  55997. }
  55998. // GoString returns the string representation
  55999. func (s LaunchTemplatePlacementRequest) GoString() string {
  56000. return s.String()
  56001. }
  56002. // SetAffinity sets the Affinity field's value.
  56003. func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
  56004. s.Affinity = &v
  56005. return s
  56006. }
  56007. // SetAvailabilityZone sets the AvailabilityZone field's value.
  56008. func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
  56009. s.AvailabilityZone = &v
  56010. return s
  56011. }
  56012. // SetGroupName sets the GroupName field's value.
  56013. func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
  56014. s.GroupName = &v
  56015. return s
  56016. }
  56017. // SetHostId sets the HostId field's value.
  56018. func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
  56019. s.HostId = &v
  56020. return s
  56021. }
  56022. // SetSpreadDomain sets the SpreadDomain field's value.
  56023. func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
  56024. s.SpreadDomain = &v
  56025. return s
  56026. }
  56027. // SetTenancy sets the Tenancy field's value.
  56028. func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
  56029. s.Tenancy = &v
  56030. return s
  56031. }
  56032. // The launch template to use. You must specify either the launch template ID
  56033. // or launch template name in the request, but not both.
  56034. type LaunchTemplateSpecification struct {
  56035. _ struct{} `type:"structure"`
  56036. // The ID of the launch template.
  56037. LaunchTemplateId *string `type:"string"`
  56038. // The name of the launch template.
  56039. LaunchTemplateName *string `type:"string"`
  56040. // The version number of the launch template.
  56041. //
  56042. // Default: The default version for the launch template.
  56043. Version *string `type:"string"`
  56044. }
  56045. // String returns the string representation
  56046. func (s LaunchTemplateSpecification) String() string {
  56047. return awsutil.Prettify(s)
  56048. }
  56049. // GoString returns the string representation
  56050. func (s LaunchTemplateSpecification) GoString() string {
  56051. return s.String()
  56052. }
  56053. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  56054. func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
  56055. s.LaunchTemplateId = &v
  56056. return s
  56057. }
  56058. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  56059. func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
  56060. s.LaunchTemplateName = &v
  56061. return s
  56062. }
  56063. // SetVersion sets the Version field's value.
  56064. func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
  56065. s.Version = &v
  56066. return s
  56067. }
  56068. // The options for Spot Instances.
  56069. type LaunchTemplateSpotMarketOptions struct {
  56070. _ struct{} `type:"structure"`
  56071. // The required duration for the Spot Instances (also known as Spot blocks),
  56072. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  56073. // or 360).
  56074. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  56075. // The behavior when a Spot Instance is interrupted.
  56076. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  56077. // The maximum hourly price you're willing to pay for the Spot Instances.
  56078. MaxPrice *string `locationName:"maxPrice" type:"string"`
  56079. // The Spot Instance request type.
  56080. SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
  56081. // The end date of the request. For a one-time request, the request remains
  56082. // active until all instances launch, the request is canceled, or this date
  56083. // is reached. If the request is persistent, it remains active until it is canceled
  56084. // or this date and time is reached.
  56085. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  56086. }
  56087. // String returns the string representation
  56088. func (s LaunchTemplateSpotMarketOptions) String() string {
  56089. return awsutil.Prettify(s)
  56090. }
  56091. // GoString returns the string representation
  56092. func (s LaunchTemplateSpotMarketOptions) GoString() string {
  56093. return s.String()
  56094. }
  56095. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  56096. func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
  56097. s.BlockDurationMinutes = &v
  56098. return s
  56099. }
  56100. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56101. func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
  56102. s.InstanceInterruptionBehavior = &v
  56103. return s
  56104. }
  56105. // SetMaxPrice sets the MaxPrice field's value.
  56106. func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
  56107. s.MaxPrice = &v
  56108. return s
  56109. }
  56110. // SetSpotInstanceType sets the SpotInstanceType field's value.
  56111. func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
  56112. s.SpotInstanceType = &v
  56113. return s
  56114. }
  56115. // SetValidUntil sets the ValidUntil field's value.
  56116. func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
  56117. s.ValidUntil = &v
  56118. return s
  56119. }
  56120. // The options for Spot Instances.
  56121. type LaunchTemplateSpotMarketOptionsRequest struct {
  56122. _ struct{} `type:"structure"`
  56123. // The required duration for the Spot Instances (also known as Spot blocks),
  56124. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  56125. // or 360).
  56126. BlockDurationMinutes *int64 `type:"integer"`
  56127. // The behavior when a Spot Instance is interrupted. The default is terminate.
  56128. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  56129. // The maximum hourly price you're willing to pay for the Spot Instances.
  56130. MaxPrice *string `type:"string"`
  56131. // The Spot Instance request type.
  56132. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  56133. // The end date of the request. For a one-time request, the request remains
  56134. // active until all instances launch, the request is canceled, or this date
  56135. // is reached. If the request is persistent, it remains active until it is canceled
  56136. // or this date and time is reached. The default end date is 7 days from the
  56137. // current date.
  56138. ValidUntil *time.Time `type:"timestamp"`
  56139. }
  56140. // String returns the string representation
  56141. func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
  56142. return awsutil.Prettify(s)
  56143. }
  56144. // GoString returns the string representation
  56145. func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
  56146. return s.String()
  56147. }
  56148. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  56149. func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
  56150. s.BlockDurationMinutes = &v
  56151. return s
  56152. }
  56153. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  56154. func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
  56155. s.InstanceInterruptionBehavior = &v
  56156. return s
  56157. }
  56158. // SetMaxPrice sets the MaxPrice field's value.
  56159. func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
  56160. s.MaxPrice = &v
  56161. return s
  56162. }
  56163. // SetSpotInstanceType sets the SpotInstanceType field's value.
  56164. func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
  56165. s.SpotInstanceType = &v
  56166. return s
  56167. }
  56168. // SetValidUntil sets the ValidUntil field's value.
  56169. func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
  56170. s.ValidUntil = &v
  56171. return s
  56172. }
  56173. // The tag specification for the launch template.
  56174. type LaunchTemplateTagSpecification struct {
  56175. _ struct{} `type:"structure"`
  56176. // The type of resource.
  56177. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  56178. // The tags for the resource.
  56179. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  56180. }
  56181. // String returns the string representation
  56182. func (s LaunchTemplateTagSpecification) String() string {
  56183. return awsutil.Prettify(s)
  56184. }
  56185. // GoString returns the string representation
  56186. func (s LaunchTemplateTagSpecification) GoString() string {
  56187. return s.String()
  56188. }
  56189. // SetResourceType sets the ResourceType field's value.
  56190. func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
  56191. s.ResourceType = &v
  56192. return s
  56193. }
  56194. // SetTags sets the Tags field's value.
  56195. func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
  56196. s.Tags = v
  56197. return s
  56198. }
  56199. // The tags specification for the launch template.
  56200. type LaunchTemplateTagSpecificationRequest struct {
  56201. _ struct{} `type:"structure"`
  56202. // The type of resource to tag. Currently, the resource types that support tagging
  56203. // on creation are instance and volume. To tag a resource after it has been
  56204. // created, see CreateTags.
  56205. ResourceType *string `type:"string" enum:"ResourceType"`
  56206. // The tags to apply to the resource.
  56207. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  56208. }
  56209. // String returns the string representation
  56210. func (s LaunchTemplateTagSpecificationRequest) String() string {
  56211. return awsutil.Prettify(s)
  56212. }
  56213. // GoString returns the string representation
  56214. func (s LaunchTemplateTagSpecificationRequest) GoString() string {
  56215. return s.String()
  56216. }
  56217. // SetResourceType sets the ResourceType field's value.
  56218. func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
  56219. s.ResourceType = &v
  56220. return s
  56221. }
  56222. // SetTags sets the Tags field's value.
  56223. func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
  56224. s.Tags = v
  56225. return s
  56226. }
  56227. // Describes a launch template version.
  56228. type LaunchTemplateVersion struct {
  56229. _ struct{} `type:"structure"`
  56230. // The time the version was created.
  56231. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  56232. // The principal that created the version.
  56233. CreatedBy *string `locationName:"createdBy" type:"string"`
  56234. // Indicates whether the version is the default version.
  56235. DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
  56236. // Information about the launch template.
  56237. LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
  56238. // The ID of the launch template.
  56239. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
  56240. // The name of the launch template.
  56241. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
  56242. // The description for the version.
  56243. VersionDescription *string `locationName:"versionDescription" type:"string"`
  56244. // The version number.
  56245. VersionNumber *int64 `locationName:"versionNumber" type:"long"`
  56246. }
  56247. // String returns the string representation
  56248. func (s LaunchTemplateVersion) String() string {
  56249. return awsutil.Prettify(s)
  56250. }
  56251. // GoString returns the string representation
  56252. func (s LaunchTemplateVersion) GoString() string {
  56253. return s.String()
  56254. }
  56255. // SetCreateTime sets the CreateTime field's value.
  56256. func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
  56257. s.CreateTime = &v
  56258. return s
  56259. }
  56260. // SetCreatedBy sets the CreatedBy field's value.
  56261. func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
  56262. s.CreatedBy = &v
  56263. return s
  56264. }
  56265. // SetDefaultVersion sets the DefaultVersion field's value.
  56266. func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
  56267. s.DefaultVersion = &v
  56268. return s
  56269. }
  56270. // SetLaunchTemplateData sets the LaunchTemplateData field's value.
  56271. func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
  56272. s.LaunchTemplateData = v
  56273. return s
  56274. }
  56275. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  56276. func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
  56277. s.LaunchTemplateId = &v
  56278. return s
  56279. }
  56280. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  56281. func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
  56282. s.LaunchTemplateName = &v
  56283. return s
  56284. }
  56285. // SetVersionDescription sets the VersionDescription field's value.
  56286. func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
  56287. s.VersionDescription = &v
  56288. return s
  56289. }
  56290. // SetVersionNumber sets the VersionNumber field's value.
  56291. func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
  56292. s.VersionNumber = &v
  56293. return s
  56294. }
  56295. // Describes the monitoring for the instance.
  56296. type LaunchTemplatesMonitoring struct {
  56297. _ struct{} `type:"structure"`
  56298. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  56299. // is enabled.
  56300. Enabled *bool `locationName:"enabled" type:"boolean"`
  56301. }
  56302. // String returns the string representation
  56303. func (s LaunchTemplatesMonitoring) String() string {
  56304. return awsutil.Prettify(s)
  56305. }
  56306. // GoString returns the string representation
  56307. func (s LaunchTemplatesMonitoring) GoString() string {
  56308. return s.String()
  56309. }
  56310. // SetEnabled sets the Enabled field's value.
  56311. func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
  56312. s.Enabled = &v
  56313. return s
  56314. }
  56315. // Describes the monitoring for the instance.
  56316. type LaunchTemplatesMonitoringRequest struct {
  56317. _ struct{} `type:"structure"`
  56318. // Specify true to enable detailed monitoring. Otherwise, basic monitoring is
  56319. // enabled.
  56320. Enabled *bool `type:"boolean"`
  56321. }
  56322. // String returns the string representation
  56323. func (s LaunchTemplatesMonitoringRequest) String() string {
  56324. return awsutil.Prettify(s)
  56325. }
  56326. // GoString returns the string representation
  56327. func (s LaunchTemplatesMonitoringRequest) GoString() string {
  56328. return s.String()
  56329. }
  56330. // SetEnabled sets the Enabled field's value.
  56331. func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
  56332. s.Enabled = &v
  56333. return s
  56334. }
  56335. // Describes a license configuration.
  56336. type LicenseConfiguration struct {
  56337. _ struct{} `type:"structure"`
  56338. // The Amazon Resource Name (ARN) of the license configuration.
  56339. LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
  56340. }
  56341. // String returns the string representation
  56342. func (s LicenseConfiguration) String() string {
  56343. return awsutil.Prettify(s)
  56344. }
  56345. // GoString returns the string representation
  56346. func (s LicenseConfiguration) GoString() string {
  56347. return s.String()
  56348. }
  56349. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  56350. func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
  56351. s.LicenseConfigurationArn = &v
  56352. return s
  56353. }
  56354. // Describes a license configuration.
  56355. type LicenseConfigurationRequest struct {
  56356. _ struct{} `type:"structure"`
  56357. // The Amazon Resource Name (ARN) of the license configuration.
  56358. LicenseConfigurationArn *string `type:"string"`
  56359. }
  56360. // String returns the string representation
  56361. func (s LicenseConfigurationRequest) String() string {
  56362. return awsutil.Prettify(s)
  56363. }
  56364. // GoString returns the string representation
  56365. func (s LicenseConfigurationRequest) GoString() string {
  56366. return s.String()
  56367. }
  56368. // SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
  56369. func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
  56370. s.LicenseConfigurationArn = &v
  56371. return s
  56372. }
  56373. // Describes the Classic Load Balancers and target groups to attach to a Spot
  56374. // Fleet request.
  56375. type LoadBalancersConfig struct {
  56376. _ struct{} `type:"structure"`
  56377. // The Classic Load Balancers.
  56378. ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
  56379. // The target groups.
  56380. TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
  56381. }
  56382. // String returns the string representation
  56383. func (s LoadBalancersConfig) String() string {
  56384. return awsutil.Prettify(s)
  56385. }
  56386. // GoString returns the string representation
  56387. func (s LoadBalancersConfig) GoString() string {
  56388. return s.String()
  56389. }
  56390. // Validate inspects the fields of the type to determine if they are valid.
  56391. func (s *LoadBalancersConfig) Validate() error {
  56392. invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
  56393. if s.ClassicLoadBalancersConfig != nil {
  56394. if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
  56395. invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
  56396. }
  56397. }
  56398. if s.TargetGroupsConfig != nil {
  56399. if err := s.TargetGroupsConfig.Validate(); err != nil {
  56400. invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
  56401. }
  56402. }
  56403. if invalidParams.Len() > 0 {
  56404. return invalidParams
  56405. }
  56406. return nil
  56407. }
  56408. // SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
  56409. func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
  56410. s.ClassicLoadBalancersConfig = v
  56411. return s
  56412. }
  56413. // SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
  56414. func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
  56415. s.TargetGroupsConfig = v
  56416. return s
  56417. }
  56418. // Describes a load permission.
  56419. type LoadPermission struct {
  56420. _ struct{} `type:"structure"`
  56421. // The name of the group.
  56422. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  56423. // The AWS account ID.
  56424. UserId *string `locationName:"userId" type:"string"`
  56425. }
  56426. // String returns the string representation
  56427. func (s LoadPermission) String() string {
  56428. return awsutil.Prettify(s)
  56429. }
  56430. // GoString returns the string representation
  56431. func (s LoadPermission) GoString() string {
  56432. return s.String()
  56433. }
  56434. // SetGroup sets the Group field's value.
  56435. func (s *LoadPermission) SetGroup(v string) *LoadPermission {
  56436. s.Group = &v
  56437. return s
  56438. }
  56439. // SetUserId sets the UserId field's value.
  56440. func (s *LoadPermission) SetUserId(v string) *LoadPermission {
  56441. s.UserId = &v
  56442. return s
  56443. }
  56444. // Describes modifications to the load permissions of an Amazon FPGA image (AFI).
  56445. type LoadPermissionModifications struct {
  56446. _ struct{} `type:"structure"`
  56447. // The load permissions to add.
  56448. Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  56449. // The load permissions to remove.
  56450. Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
  56451. }
  56452. // String returns the string representation
  56453. func (s LoadPermissionModifications) String() string {
  56454. return awsutil.Prettify(s)
  56455. }
  56456. // GoString returns the string representation
  56457. func (s LoadPermissionModifications) GoString() string {
  56458. return s.String()
  56459. }
  56460. // SetAdd sets the Add field's value.
  56461. func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
  56462. s.Add = v
  56463. return s
  56464. }
  56465. // SetRemove sets the Remove field's value.
  56466. func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
  56467. s.Remove = v
  56468. return s
  56469. }
  56470. // Describes a load permission.
  56471. type LoadPermissionRequest struct {
  56472. _ struct{} `type:"structure"`
  56473. // The name of the group.
  56474. Group *string `type:"string" enum:"PermissionGroup"`
  56475. // The AWS account ID.
  56476. UserId *string `type:"string"`
  56477. }
  56478. // String returns the string representation
  56479. func (s LoadPermissionRequest) String() string {
  56480. return awsutil.Prettify(s)
  56481. }
  56482. // GoString returns the string representation
  56483. func (s LoadPermissionRequest) GoString() string {
  56484. return s.String()
  56485. }
  56486. // SetGroup sets the Group field's value.
  56487. func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
  56488. s.Group = &v
  56489. return s
  56490. }
  56491. // SetUserId sets the UserId field's value.
  56492. func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
  56493. s.UserId = &v
  56494. return s
  56495. }
  56496. type ModifyCapacityReservationInput struct {
  56497. _ struct{} `type:"structure"`
  56498. // The ID of the Capacity Reservation.
  56499. //
  56500. // CapacityReservationId is a required field
  56501. CapacityReservationId *string `type:"string" required:"true"`
  56502. // Checks whether you have the required permissions for the action, without
  56503. // actually making the request, and provides an error response. If you have
  56504. // the required permissions, the error response is DryRunOperation. Otherwise,
  56505. // it is UnauthorizedOperation.
  56506. DryRun *bool `type:"boolean"`
  56507. // The date and time at which the Capacity Reservation expires. When a Capacity
  56508. // Reservation expires, the reserved capacity is released and you can no longer
  56509. // launch instances into it. The Capacity Reservation's state changes to expired
  56510. // when it reaches its end date and time.
  56511. //
  56512. // The Capacity Reservation is cancelled within an hour from the specified time.
  56513. // For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
  56514. // is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
  56515. //
  56516. // You must provide an EndDate value if EndDateType is limited. Omit EndDate
  56517. // if EndDateType is unlimited.
  56518. EndDate *time.Time `type:"timestamp"`
  56519. // Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
  56520. // can have one of the following end types:
  56521. //
  56522. // * unlimited - The Capacity Reservation remains active until you explicitly
  56523. // cancel it. Do not provide an EndDate value if EndDateType is unlimited.
  56524. //
  56525. // * limited - The Capacity Reservation expires automatically at a specified
  56526. // date and time. You must provide an EndDate value if EndDateType is limited.
  56527. EndDateType *string `type:"string" enum:"EndDateType"`
  56528. // The number of instances for which to reserve capacity.
  56529. InstanceCount *int64 `type:"integer"`
  56530. }
  56531. // String returns the string representation
  56532. func (s ModifyCapacityReservationInput) String() string {
  56533. return awsutil.Prettify(s)
  56534. }
  56535. // GoString returns the string representation
  56536. func (s ModifyCapacityReservationInput) GoString() string {
  56537. return s.String()
  56538. }
  56539. // Validate inspects the fields of the type to determine if they are valid.
  56540. func (s *ModifyCapacityReservationInput) Validate() error {
  56541. invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
  56542. if s.CapacityReservationId == nil {
  56543. invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
  56544. }
  56545. if invalidParams.Len() > 0 {
  56546. return invalidParams
  56547. }
  56548. return nil
  56549. }
  56550. // SetCapacityReservationId sets the CapacityReservationId field's value.
  56551. func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
  56552. s.CapacityReservationId = &v
  56553. return s
  56554. }
  56555. // SetDryRun sets the DryRun field's value.
  56556. func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
  56557. s.DryRun = &v
  56558. return s
  56559. }
  56560. // SetEndDate sets the EndDate field's value.
  56561. func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
  56562. s.EndDate = &v
  56563. return s
  56564. }
  56565. // SetEndDateType sets the EndDateType field's value.
  56566. func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
  56567. s.EndDateType = &v
  56568. return s
  56569. }
  56570. // SetInstanceCount sets the InstanceCount field's value.
  56571. func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
  56572. s.InstanceCount = &v
  56573. return s
  56574. }
  56575. type ModifyCapacityReservationOutput struct {
  56576. _ struct{} `type:"structure"`
  56577. // Information about the Capacity Reservation.
  56578. Return *bool `locationName:"return" type:"boolean"`
  56579. }
  56580. // String returns the string representation
  56581. func (s ModifyCapacityReservationOutput) String() string {
  56582. return awsutil.Prettify(s)
  56583. }
  56584. // GoString returns the string representation
  56585. func (s ModifyCapacityReservationOutput) GoString() string {
  56586. return s.String()
  56587. }
  56588. // SetReturn sets the Return field's value.
  56589. func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
  56590. s.Return = &v
  56591. return s
  56592. }
  56593. type ModifyClientVpnEndpointInput struct {
  56594. _ struct{} `type:"structure"`
  56595. // The ID of the Client VPN endpoint to modify.
  56596. //
  56597. // ClientVpnEndpointId is a required field
  56598. ClientVpnEndpointId *string `type:"string" required:"true"`
  56599. // Information about the client connection logging options.
  56600. //
  56601. // If you enable client connection logging, data about client connections is
  56602. // sent to a Cloudwatch Logs log stream. The following information is logged:
  56603. //
  56604. // * Client connection requests
  56605. //
  56606. // * Client connection results (successful and unsuccessful)
  56607. //
  56608. // * Reasons for unsuccessful client connection requests
  56609. //
  56610. // * Client connection termination time
  56611. ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
  56612. // A brief description of the Client VPN endpoint.
  56613. Description *string `type:"string"`
  56614. // Information about the DNS servers to be used by Client VPN connections. A
  56615. // Client VPN endpoint can have up to two DNS servers.
  56616. DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
  56617. // Checks whether you have the required permissions for the action, without
  56618. // actually making the request, and provides an error response. If you have
  56619. // the required permissions, the error response is DryRunOperation. Otherwise,
  56620. // it is UnauthorizedOperation.
  56621. DryRun *bool `type:"boolean"`
  56622. // The ARN of the server certificate to be used. The server certificate must
  56623. // be provisioned in AWS Certificate Manager (ACM).
  56624. ServerCertificateArn *string `type:"string"`
  56625. }
  56626. // String returns the string representation
  56627. func (s ModifyClientVpnEndpointInput) String() string {
  56628. return awsutil.Prettify(s)
  56629. }
  56630. // GoString returns the string representation
  56631. func (s ModifyClientVpnEndpointInput) GoString() string {
  56632. return s.String()
  56633. }
  56634. // Validate inspects the fields of the type to determine if they are valid.
  56635. func (s *ModifyClientVpnEndpointInput) Validate() error {
  56636. invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
  56637. if s.ClientVpnEndpointId == nil {
  56638. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  56639. }
  56640. if invalidParams.Len() > 0 {
  56641. return invalidParams
  56642. }
  56643. return nil
  56644. }
  56645. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  56646. func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
  56647. s.ClientVpnEndpointId = &v
  56648. return s
  56649. }
  56650. // SetConnectionLogOptions sets the ConnectionLogOptions field's value.
  56651. func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
  56652. s.ConnectionLogOptions = v
  56653. return s
  56654. }
  56655. // SetDescription sets the Description field's value.
  56656. func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
  56657. s.Description = &v
  56658. return s
  56659. }
  56660. // SetDnsServers sets the DnsServers field's value.
  56661. func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
  56662. s.DnsServers = v
  56663. return s
  56664. }
  56665. // SetDryRun sets the DryRun field's value.
  56666. func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
  56667. s.DryRun = &v
  56668. return s
  56669. }
  56670. // SetServerCertificateArn sets the ServerCertificateArn field's value.
  56671. func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
  56672. s.ServerCertificateArn = &v
  56673. return s
  56674. }
  56675. type ModifyClientVpnEndpointOutput struct {
  56676. _ struct{} `type:"structure"`
  56677. // Returns true if the request succeeds; otherwise, it returns an error.
  56678. Return *bool `locationName:"return" type:"boolean"`
  56679. }
  56680. // String returns the string representation
  56681. func (s ModifyClientVpnEndpointOutput) String() string {
  56682. return awsutil.Prettify(s)
  56683. }
  56684. // GoString returns the string representation
  56685. func (s ModifyClientVpnEndpointOutput) GoString() string {
  56686. return s.String()
  56687. }
  56688. // SetReturn sets the Return field's value.
  56689. func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
  56690. s.Return = &v
  56691. return s
  56692. }
  56693. type ModifyFleetInput struct {
  56694. _ struct{} `type:"structure"`
  56695. // Checks whether you have the required permissions for the action, without
  56696. // actually making the request, and provides an error response. If you have
  56697. // the required permissions, the error response is DryRunOperation. Otherwise,
  56698. // it is UnauthorizedOperation.
  56699. DryRun *bool `type:"boolean"`
  56700. // Indicates whether running instances should be terminated if the total target
  56701. // capacity of the EC2 Fleet is decreased below the current size of the EC2
  56702. // Fleet.
  56703. ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
  56704. // The ID of the EC2 Fleet.
  56705. //
  56706. // FleetId is a required field
  56707. FleetId *string `type:"string" required:"true"`
  56708. // The size of the EC2 Fleet.
  56709. //
  56710. // TargetCapacitySpecification is a required field
  56711. TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
  56712. }
  56713. // String returns the string representation
  56714. func (s ModifyFleetInput) String() string {
  56715. return awsutil.Prettify(s)
  56716. }
  56717. // GoString returns the string representation
  56718. func (s ModifyFleetInput) GoString() string {
  56719. return s.String()
  56720. }
  56721. // Validate inspects the fields of the type to determine if they are valid.
  56722. func (s *ModifyFleetInput) Validate() error {
  56723. invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
  56724. if s.FleetId == nil {
  56725. invalidParams.Add(request.NewErrParamRequired("FleetId"))
  56726. }
  56727. if s.TargetCapacitySpecification == nil {
  56728. invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
  56729. }
  56730. if s.TargetCapacitySpecification != nil {
  56731. if err := s.TargetCapacitySpecification.Validate(); err != nil {
  56732. invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
  56733. }
  56734. }
  56735. if invalidParams.Len() > 0 {
  56736. return invalidParams
  56737. }
  56738. return nil
  56739. }
  56740. // SetDryRun sets the DryRun field's value.
  56741. func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
  56742. s.DryRun = &v
  56743. return s
  56744. }
  56745. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  56746. func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
  56747. s.ExcessCapacityTerminationPolicy = &v
  56748. return s
  56749. }
  56750. // SetFleetId sets the FleetId field's value.
  56751. func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
  56752. s.FleetId = &v
  56753. return s
  56754. }
  56755. // SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
  56756. func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
  56757. s.TargetCapacitySpecification = v
  56758. return s
  56759. }
  56760. type ModifyFleetOutput struct {
  56761. _ struct{} `type:"structure"`
  56762. // Is true if the request succeeds, and an error otherwise.
  56763. Return *bool `locationName:"return" type:"boolean"`
  56764. }
  56765. // String returns the string representation
  56766. func (s ModifyFleetOutput) String() string {
  56767. return awsutil.Prettify(s)
  56768. }
  56769. // GoString returns the string representation
  56770. func (s ModifyFleetOutput) GoString() string {
  56771. return s.String()
  56772. }
  56773. // SetReturn sets the Return field's value.
  56774. func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
  56775. s.Return = &v
  56776. return s
  56777. }
  56778. type ModifyFpgaImageAttributeInput struct {
  56779. _ struct{} `type:"structure"`
  56780. // The name of the attribute.
  56781. Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
  56782. // A description for the AFI.
  56783. Description *string `type:"string"`
  56784. // Checks whether you have the required permissions for the action, without
  56785. // actually making the request, and provides an error response. If you have
  56786. // the required permissions, the error response is DryRunOperation. Otherwise,
  56787. // it is UnauthorizedOperation.
  56788. DryRun *bool `type:"boolean"`
  56789. // The ID of the AFI.
  56790. //
  56791. // FpgaImageId is a required field
  56792. FpgaImageId *string `type:"string" required:"true"`
  56793. // The load permission for the AFI.
  56794. LoadPermission *LoadPermissionModifications `type:"structure"`
  56795. // A name for the AFI.
  56796. Name *string `type:"string"`
  56797. // The operation type.
  56798. OperationType *string `type:"string" enum:"OperationType"`
  56799. // One or more product codes. After you add a product code to an AFI, it can't
  56800. // be removed. This parameter is valid only when modifying the productCodes
  56801. // attribute.
  56802. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  56803. // One or more user groups. This parameter is valid only when modifying the
  56804. // loadPermission attribute.
  56805. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  56806. // One or more AWS account IDs. This parameter is valid only when modifying
  56807. // the loadPermission attribute.
  56808. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  56809. }
  56810. // String returns the string representation
  56811. func (s ModifyFpgaImageAttributeInput) String() string {
  56812. return awsutil.Prettify(s)
  56813. }
  56814. // GoString returns the string representation
  56815. func (s ModifyFpgaImageAttributeInput) GoString() string {
  56816. return s.String()
  56817. }
  56818. // Validate inspects the fields of the type to determine if they are valid.
  56819. func (s *ModifyFpgaImageAttributeInput) Validate() error {
  56820. invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
  56821. if s.FpgaImageId == nil {
  56822. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  56823. }
  56824. if invalidParams.Len() > 0 {
  56825. return invalidParams
  56826. }
  56827. return nil
  56828. }
  56829. // SetAttribute sets the Attribute field's value.
  56830. func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
  56831. s.Attribute = &v
  56832. return s
  56833. }
  56834. // SetDescription sets the Description field's value.
  56835. func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
  56836. s.Description = &v
  56837. return s
  56838. }
  56839. // SetDryRun sets the DryRun field's value.
  56840. func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
  56841. s.DryRun = &v
  56842. return s
  56843. }
  56844. // SetFpgaImageId sets the FpgaImageId field's value.
  56845. func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
  56846. s.FpgaImageId = &v
  56847. return s
  56848. }
  56849. // SetLoadPermission sets the LoadPermission field's value.
  56850. func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
  56851. s.LoadPermission = v
  56852. return s
  56853. }
  56854. // SetName sets the Name field's value.
  56855. func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
  56856. s.Name = &v
  56857. return s
  56858. }
  56859. // SetOperationType sets the OperationType field's value.
  56860. func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
  56861. s.OperationType = &v
  56862. return s
  56863. }
  56864. // SetProductCodes sets the ProductCodes field's value.
  56865. func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
  56866. s.ProductCodes = v
  56867. return s
  56868. }
  56869. // SetUserGroups sets the UserGroups field's value.
  56870. func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
  56871. s.UserGroups = v
  56872. return s
  56873. }
  56874. // SetUserIds sets the UserIds field's value.
  56875. func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
  56876. s.UserIds = v
  56877. return s
  56878. }
  56879. type ModifyFpgaImageAttributeOutput struct {
  56880. _ struct{} `type:"structure"`
  56881. // Information about the attribute.
  56882. FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
  56883. }
  56884. // String returns the string representation
  56885. func (s ModifyFpgaImageAttributeOutput) String() string {
  56886. return awsutil.Prettify(s)
  56887. }
  56888. // GoString returns the string representation
  56889. func (s ModifyFpgaImageAttributeOutput) GoString() string {
  56890. return s.String()
  56891. }
  56892. // SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
  56893. func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
  56894. s.FpgaImageAttribute = v
  56895. return s
  56896. }
  56897. type ModifyHostsInput struct {
  56898. _ struct{} `type:"structure"`
  56899. // Specify whether to enable or disable auto-placement.
  56900. //
  56901. // AutoPlacement is a required field
  56902. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  56903. // The IDs of the Dedicated Hosts to modify.
  56904. //
  56905. // HostIds is a required field
  56906. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  56907. }
  56908. // String returns the string representation
  56909. func (s ModifyHostsInput) String() string {
  56910. return awsutil.Prettify(s)
  56911. }
  56912. // GoString returns the string representation
  56913. func (s ModifyHostsInput) GoString() string {
  56914. return s.String()
  56915. }
  56916. // Validate inspects the fields of the type to determine if they are valid.
  56917. func (s *ModifyHostsInput) Validate() error {
  56918. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  56919. if s.AutoPlacement == nil {
  56920. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  56921. }
  56922. if s.HostIds == nil {
  56923. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  56924. }
  56925. if invalidParams.Len() > 0 {
  56926. return invalidParams
  56927. }
  56928. return nil
  56929. }
  56930. // SetAutoPlacement sets the AutoPlacement field's value.
  56931. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  56932. s.AutoPlacement = &v
  56933. return s
  56934. }
  56935. // SetHostIds sets the HostIds field's value.
  56936. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  56937. s.HostIds = v
  56938. return s
  56939. }
  56940. type ModifyHostsOutput struct {
  56941. _ struct{} `type:"structure"`
  56942. // The IDs of the Dedicated Hosts that were successfully modified.
  56943. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  56944. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  56945. // the setting you requested can be used.
  56946. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  56947. }
  56948. // String returns the string representation
  56949. func (s ModifyHostsOutput) String() string {
  56950. return awsutil.Prettify(s)
  56951. }
  56952. // GoString returns the string representation
  56953. func (s ModifyHostsOutput) GoString() string {
  56954. return s.String()
  56955. }
  56956. // SetSuccessful sets the Successful field's value.
  56957. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  56958. s.Successful = v
  56959. return s
  56960. }
  56961. // SetUnsuccessful sets the Unsuccessful field's value.
  56962. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  56963. s.Unsuccessful = v
  56964. return s
  56965. }
  56966. type ModifyIdFormatInput struct {
  56967. _ struct{} `type:"structure"`
  56968. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  56969. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  56970. // | image | import-task | internet-gateway | network-acl | network-acl-association
  56971. // | network-interface | network-interface-attachment | prefix-list | route-table
  56972. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  56973. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  56974. // | vpn-connection | vpn-gateway.
  56975. //
  56976. // Alternatively, use the all-current option to include all resource types that
  56977. // are currently within their opt-in period for longer IDs.
  56978. //
  56979. // Resource is a required field
  56980. Resource *string `type:"string" required:"true"`
  56981. // Indicate whether the resource should use longer IDs (17-character IDs).
  56982. //
  56983. // UseLongIds is a required field
  56984. UseLongIds *bool `type:"boolean" required:"true"`
  56985. }
  56986. // String returns the string representation
  56987. func (s ModifyIdFormatInput) String() string {
  56988. return awsutil.Prettify(s)
  56989. }
  56990. // GoString returns the string representation
  56991. func (s ModifyIdFormatInput) GoString() string {
  56992. return s.String()
  56993. }
  56994. // Validate inspects the fields of the type to determine if they are valid.
  56995. func (s *ModifyIdFormatInput) Validate() error {
  56996. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  56997. if s.Resource == nil {
  56998. invalidParams.Add(request.NewErrParamRequired("Resource"))
  56999. }
  57000. if s.UseLongIds == nil {
  57001. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  57002. }
  57003. if invalidParams.Len() > 0 {
  57004. return invalidParams
  57005. }
  57006. return nil
  57007. }
  57008. // SetResource sets the Resource field's value.
  57009. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  57010. s.Resource = &v
  57011. return s
  57012. }
  57013. // SetUseLongIds sets the UseLongIds field's value.
  57014. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  57015. s.UseLongIds = &v
  57016. return s
  57017. }
  57018. type ModifyIdFormatOutput struct {
  57019. _ struct{} `type:"structure"`
  57020. }
  57021. // String returns the string representation
  57022. func (s ModifyIdFormatOutput) String() string {
  57023. return awsutil.Prettify(s)
  57024. }
  57025. // GoString returns the string representation
  57026. func (s ModifyIdFormatOutput) GoString() string {
  57027. return s.String()
  57028. }
  57029. type ModifyIdentityIdFormatInput struct {
  57030. _ struct{} `type:"structure"`
  57031. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  57032. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  57033. // the root user of the account.
  57034. //
  57035. // PrincipalArn is a required field
  57036. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  57037. // The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
  57038. // | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
  57039. // | image | import-task | internet-gateway | network-acl | network-acl-association
  57040. // | network-interface | network-interface-attachment | prefix-list | route-table
  57041. // | route-table-association | security-group | subnet | subnet-cidr-block-association
  57042. // | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
  57043. // | vpn-connection | vpn-gateway.
  57044. //
  57045. // Alternatively, use the all-current option to include all resource types that
  57046. // are currently within their opt-in period for longer IDs.
  57047. //
  57048. // Resource is a required field
  57049. Resource *string `locationName:"resource" type:"string" required:"true"`
  57050. // Indicates whether the resource should use longer IDs (17-character IDs)
  57051. //
  57052. // UseLongIds is a required field
  57053. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  57054. }
  57055. // String returns the string representation
  57056. func (s ModifyIdentityIdFormatInput) String() string {
  57057. return awsutil.Prettify(s)
  57058. }
  57059. // GoString returns the string representation
  57060. func (s ModifyIdentityIdFormatInput) GoString() string {
  57061. return s.String()
  57062. }
  57063. // Validate inspects the fields of the type to determine if they are valid.
  57064. func (s *ModifyIdentityIdFormatInput) Validate() error {
  57065. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  57066. if s.PrincipalArn == nil {
  57067. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  57068. }
  57069. if s.Resource == nil {
  57070. invalidParams.Add(request.NewErrParamRequired("Resource"))
  57071. }
  57072. if s.UseLongIds == nil {
  57073. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  57074. }
  57075. if invalidParams.Len() > 0 {
  57076. return invalidParams
  57077. }
  57078. return nil
  57079. }
  57080. // SetPrincipalArn sets the PrincipalArn field's value.
  57081. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  57082. s.PrincipalArn = &v
  57083. return s
  57084. }
  57085. // SetResource sets the Resource field's value.
  57086. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  57087. s.Resource = &v
  57088. return s
  57089. }
  57090. // SetUseLongIds sets the UseLongIds field's value.
  57091. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  57092. s.UseLongIds = &v
  57093. return s
  57094. }
  57095. type ModifyIdentityIdFormatOutput struct {
  57096. _ struct{} `type:"structure"`
  57097. }
  57098. // String returns the string representation
  57099. func (s ModifyIdentityIdFormatOutput) String() string {
  57100. return awsutil.Prettify(s)
  57101. }
  57102. // GoString returns the string representation
  57103. func (s ModifyIdentityIdFormatOutput) GoString() string {
  57104. return s.String()
  57105. }
  57106. // Contains the parameters for ModifyImageAttribute.
  57107. type ModifyImageAttributeInput struct {
  57108. _ struct{} `type:"structure"`
  57109. // The name of the attribute to modify. The valid values are description, launchPermission,
  57110. // and productCodes.
  57111. Attribute *string `type:"string"`
  57112. // A new description for the AMI.
  57113. Description *AttributeValue `type:"structure"`
  57114. // Checks whether you have the required permissions for the action, without
  57115. // actually making the request, and provides an error response. If you have
  57116. // the required permissions, the error response is DryRunOperation. Otherwise,
  57117. // it is UnauthorizedOperation.
  57118. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57119. // The ID of the AMI.
  57120. //
  57121. // ImageId is a required field
  57122. ImageId *string `type:"string" required:"true"`
  57123. // A new launch permission for the AMI.
  57124. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  57125. // The operation type. This parameter can be used only when the Attribute parameter
  57126. // is launchPermission.
  57127. OperationType *string `type:"string" enum:"OperationType"`
  57128. // One or more DevPay product codes. After you add a product code to an AMI,
  57129. // it can't be removed.
  57130. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  57131. // One or more user groups. This parameter can be used only when the Attribute
  57132. // parameter is launchPermission.
  57133. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  57134. // One or more AWS account IDs. This parameter can be used only when the Attribute
  57135. // parameter is launchPermission.
  57136. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  57137. // The value of the attribute being modified. This parameter can be used only
  57138. // when the Attribute parameter is description or productCodes.
  57139. Value *string `type:"string"`
  57140. }
  57141. // String returns the string representation
  57142. func (s ModifyImageAttributeInput) String() string {
  57143. return awsutil.Prettify(s)
  57144. }
  57145. // GoString returns the string representation
  57146. func (s ModifyImageAttributeInput) GoString() string {
  57147. return s.String()
  57148. }
  57149. // Validate inspects the fields of the type to determine if they are valid.
  57150. func (s *ModifyImageAttributeInput) Validate() error {
  57151. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  57152. if s.ImageId == nil {
  57153. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  57154. }
  57155. if invalidParams.Len() > 0 {
  57156. return invalidParams
  57157. }
  57158. return nil
  57159. }
  57160. // SetAttribute sets the Attribute field's value.
  57161. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  57162. s.Attribute = &v
  57163. return s
  57164. }
  57165. // SetDescription sets the Description field's value.
  57166. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  57167. s.Description = v
  57168. return s
  57169. }
  57170. // SetDryRun sets the DryRun field's value.
  57171. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  57172. s.DryRun = &v
  57173. return s
  57174. }
  57175. // SetImageId sets the ImageId field's value.
  57176. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  57177. s.ImageId = &v
  57178. return s
  57179. }
  57180. // SetLaunchPermission sets the LaunchPermission field's value.
  57181. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  57182. s.LaunchPermission = v
  57183. return s
  57184. }
  57185. // SetOperationType sets the OperationType field's value.
  57186. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  57187. s.OperationType = &v
  57188. return s
  57189. }
  57190. // SetProductCodes sets the ProductCodes field's value.
  57191. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  57192. s.ProductCodes = v
  57193. return s
  57194. }
  57195. // SetUserGroups sets the UserGroups field's value.
  57196. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  57197. s.UserGroups = v
  57198. return s
  57199. }
  57200. // SetUserIds sets the UserIds field's value.
  57201. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  57202. s.UserIds = v
  57203. return s
  57204. }
  57205. // SetValue sets the Value field's value.
  57206. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  57207. s.Value = &v
  57208. return s
  57209. }
  57210. type ModifyImageAttributeOutput struct {
  57211. _ struct{} `type:"structure"`
  57212. }
  57213. // String returns the string representation
  57214. func (s ModifyImageAttributeOutput) String() string {
  57215. return awsutil.Prettify(s)
  57216. }
  57217. // GoString returns the string representation
  57218. func (s ModifyImageAttributeOutput) GoString() string {
  57219. return s.String()
  57220. }
  57221. type ModifyInstanceAttributeInput struct {
  57222. _ struct{} `type:"structure"`
  57223. // The name of the attribute.
  57224. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  57225. // Modifies the DeleteOnTermination attribute for volumes that are currently
  57226. // attached. The volume must be owned by the caller. If no value is specified
  57227. // for DeleteOnTermination, the default is true and the volume is deleted when
  57228. // the instance is terminated.
  57229. //
  57230. // To add instance store volumes to an Amazon EBS-backed instance, you must
  57231. // add them when you launch the instance. For more information, see Updating
  57232. // the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  57233. // in the Amazon Elastic Compute Cloud User Guide.
  57234. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  57235. // If the value is true, you can't terminate the instance using the Amazon EC2
  57236. // console, CLI, or API; otherwise, you can. You cannot use this parameter for
  57237. // Spot Instances.
  57238. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  57239. // Checks whether you have the required permissions for the action, without
  57240. // actually making the request, and provides an error response. If you have
  57241. // the required permissions, the error response is DryRunOperation. Otherwise,
  57242. // it is UnauthorizedOperation.
  57243. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57244. // Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
  57245. // provides dedicated throughput to Amazon EBS and an optimized configuration
  57246. // stack to provide optimal EBS I/O performance. This optimization isn't available
  57247. // with all instance types. Additional usage charges apply when using an EBS
  57248. // Optimized instance.
  57249. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  57250. // Set to true to enable enhanced networking with ENA for the instance.
  57251. //
  57252. // This option is supported only for HVM instances. Specifying this option with
  57253. // a PV instance can make it unreachable.
  57254. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  57255. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  57256. // least one security group, even if it's just the default security group for
  57257. // the VPC. You must specify the security group ID, not the security group name.
  57258. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  57259. // The ID of the instance.
  57260. //
  57261. // InstanceId is a required field
  57262. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  57263. // Specifies whether an instance stops or terminates when you initiate shutdown
  57264. // from the instance (using the operating system command for system shutdown).
  57265. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  57266. // Changes the instance type to the specified value. For more information, see
  57267. // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  57268. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  57269. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  57270. // Changes the instance's kernel to the specified value. We recommend that you
  57271. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  57272. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  57273. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  57274. // Changes the instance's RAM disk to the specified value. We recommend that
  57275. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  57276. // PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  57277. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  57278. // Specifies whether source/destination checking is enabled. A value of true
  57279. // means that checking is enabled, and false means that checking is disabled.
  57280. // This value must be false for a NAT instance to perform NAT.
  57281. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  57282. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  57283. // Function interface for the instance.
  57284. //
  57285. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  57286. // Function interface at this time.
  57287. //
  57288. // This option is supported only for HVM instances. Specifying this option with
  57289. // a PV instance can make it unreachable.
  57290. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  57291. // Changes the instance's user data to the specified value. If you are using
  57292. // an AWS SDK or command line tool, base64-encoding is performed for you, and
  57293. // you can load the text from a file. Otherwise, you must provide base64-encoded
  57294. // text.
  57295. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  57296. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  57297. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  57298. Value *string `locationName:"value" type:"string"`
  57299. }
  57300. // String returns the string representation
  57301. func (s ModifyInstanceAttributeInput) String() string {
  57302. return awsutil.Prettify(s)
  57303. }
  57304. // GoString returns the string representation
  57305. func (s ModifyInstanceAttributeInput) GoString() string {
  57306. return s.String()
  57307. }
  57308. // Validate inspects the fields of the type to determine if they are valid.
  57309. func (s *ModifyInstanceAttributeInput) Validate() error {
  57310. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  57311. if s.InstanceId == nil {
  57312. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  57313. }
  57314. if invalidParams.Len() > 0 {
  57315. return invalidParams
  57316. }
  57317. return nil
  57318. }
  57319. // SetAttribute sets the Attribute field's value.
  57320. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  57321. s.Attribute = &v
  57322. return s
  57323. }
  57324. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  57325. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  57326. s.BlockDeviceMappings = v
  57327. return s
  57328. }
  57329. // SetDisableApiTermination sets the DisableApiTermination field's value.
  57330. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  57331. s.DisableApiTermination = v
  57332. return s
  57333. }
  57334. // SetDryRun sets the DryRun field's value.
  57335. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  57336. s.DryRun = &v
  57337. return s
  57338. }
  57339. // SetEbsOptimized sets the EbsOptimized field's value.
  57340. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  57341. s.EbsOptimized = v
  57342. return s
  57343. }
  57344. // SetEnaSupport sets the EnaSupport field's value.
  57345. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  57346. s.EnaSupport = v
  57347. return s
  57348. }
  57349. // SetGroups sets the Groups field's value.
  57350. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  57351. s.Groups = v
  57352. return s
  57353. }
  57354. // SetInstanceId sets the InstanceId field's value.
  57355. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  57356. s.InstanceId = &v
  57357. return s
  57358. }
  57359. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  57360. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  57361. s.InstanceInitiatedShutdownBehavior = v
  57362. return s
  57363. }
  57364. // SetInstanceType sets the InstanceType field's value.
  57365. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  57366. s.InstanceType = v
  57367. return s
  57368. }
  57369. // SetKernel sets the Kernel field's value.
  57370. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  57371. s.Kernel = v
  57372. return s
  57373. }
  57374. // SetRamdisk sets the Ramdisk field's value.
  57375. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  57376. s.Ramdisk = v
  57377. return s
  57378. }
  57379. // SetSourceDestCheck sets the SourceDestCheck field's value.
  57380. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  57381. s.SourceDestCheck = v
  57382. return s
  57383. }
  57384. // SetSriovNetSupport sets the SriovNetSupport field's value.
  57385. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  57386. s.SriovNetSupport = v
  57387. return s
  57388. }
  57389. // SetUserData sets the UserData field's value.
  57390. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  57391. s.UserData = v
  57392. return s
  57393. }
  57394. // SetValue sets the Value field's value.
  57395. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  57396. s.Value = &v
  57397. return s
  57398. }
  57399. type ModifyInstanceAttributeOutput struct {
  57400. _ struct{} `type:"structure"`
  57401. }
  57402. // String returns the string representation
  57403. func (s ModifyInstanceAttributeOutput) String() string {
  57404. return awsutil.Prettify(s)
  57405. }
  57406. // GoString returns the string representation
  57407. func (s ModifyInstanceAttributeOutput) GoString() string {
  57408. return s.String()
  57409. }
  57410. type ModifyInstanceCapacityReservationAttributesInput struct {
  57411. _ struct{} `type:"structure"`
  57412. // Information about the Capacity Reservation targeting option.
  57413. //
  57414. // CapacityReservationSpecification is a required field
  57415. CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
  57416. // Checks whether you have the required permissions for the action, without
  57417. // actually making the request, and provides an error response. If you have
  57418. // the required permissions, the error response is DryRunOperation. Otherwise,
  57419. // it is UnauthorizedOperation.
  57420. DryRun *bool `type:"boolean"`
  57421. // The ID of the instance to be modified.
  57422. //
  57423. // InstanceId is a required field
  57424. InstanceId *string `type:"string" required:"true"`
  57425. }
  57426. // String returns the string representation
  57427. func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
  57428. return awsutil.Prettify(s)
  57429. }
  57430. // GoString returns the string representation
  57431. func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
  57432. return s.String()
  57433. }
  57434. // Validate inspects the fields of the type to determine if they are valid.
  57435. func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
  57436. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
  57437. if s.CapacityReservationSpecification == nil {
  57438. invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
  57439. }
  57440. if s.InstanceId == nil {
  57441. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  57442. }
  57443. if invalidParams.Len() > 0 {
  57444. return invalidParams
  57445. }
  57446. return nil
  57447. }
  57448. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  57449. func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
  57450. s.CapacityReservationSpecification = v
  57451. return s
  57452. }
  57453. // SetDryRun sets the DryRun field's value.
  57454. func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
  57455. s.DryRun = &v
  57456. return s
  57457. }
  57458. // SetInstanceId sets the InstanceId field's value.
  57459. func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
  57460. s.InstanceId = &v
  57461. return s
  57462. }
  57463. type ModifyInstanceCapacityReservationAttributesOutput struct {
  57464. _ struct{} `type:"structure"`
  57465. // Returns true if the request succeeds; otherwise, it returns an error.
  57466. Return *bool `locationName:"return" type:"boolean"`
  57467. }
  57468. // String returns the string representation
  57469. func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
  57470. return awsutil.Prettify(s)
  57471. }
  57472. // GoString returns the string representation
  57473. func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
  57474. return s.String()
  57475. }
  57476. // SetReturn sets the Return field's value.
  57477. func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
  57478. s.Return = &v
  57479. return s
  57480. }
  57481. type ModifyInstanceCreditSpecificationInput struct {
  57482. _ struct{} `type:"structure"`
  57483. // A unique, case-sensitive token that you provide to ensure idempotency of
  57484. // your modification request. For more information, see Ensuring Idempotency
  57485. // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  57486. ClientToken *string `type:"string"`
  57487. // Checks whether you have the required permissions for the action, without
  57488. // actually making the request, and provides an error response. If you have
  57489. // the required permissions, the error response is DryRunOperation. Otherwise,
  57490. // it is UnauthorizedOperation.
  57491. DryRun *bool `type:"boolean"`
  57492. // Information about the credit option for CPU usage.
  57493. //
  57494. // InstanceCreditSpecifications is a required field
  57495. InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
  57496. }
  57497. // String returns the string representation
  57498. func (s ModifyInstanceCreditSpecificationInput) String() string {
  57499. return awsutil.Prettify(s)
  57500. }
  57501. // GoString returns the string representation
  57502. func (s ModifyInstanceCreditSpecificationInput) GoString() string {
  57503. return s.String()
  57504. }
  57505. // Validate inspects the fields of the type to determine if they are valid.
  57506. func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
  57507. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
  57508. if s.InstanceCreditSpecifications == nil {
  57509. invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
  57510. }
  57511. if invalidParams.Len() > 0 {
  57512. return invalidParams
  57513. }
  57514. return nil
  57515. }
  57516. // SetClientToken sets the ClientToken field's value.
  57517. func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
  57518. s.ClientToken = &v
  57519. return s
  57520. }
  57521. // SetDryRun sets the DryRun field's value.
  57522. func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
  57523. s.DryRun = &v
  57524. return s
  57525. }
  57526. // SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
  57527. func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
  57528. s.InstanceCreditSpecifications = v
  57529. return s
  57530. }
  57531. type ModifyInstanceCreditSpecificationOutput struct {
  57532. _ struct{} `type:"structure"`
  57533. // Information about the instances whose credit option for CPU usage was successfully
  57534. // modified.
  57535. SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  57536. // Information about the instances whose credit option for CPU usage was not
  57537. // modified.
  57538. UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
  57539. }
  57540. // String returns the string representation
  57541. func (s ModifyInstanceCreditSpecificationOutput) String() string {
  57542. return awsutil.Prettify(s)
  57543. }
  57544. // GoString returns the string representation
  57545. func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
  57546. return s.String()
  57547. }
  57548. // SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
  57549. func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  57550. s.SuccessfulInstanceCreditSpecifications = v
  57551. return s
  57552. }
  57553. // SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
  57554. func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
  57555. s.UnsuccessfulInstanceCreditSpecifications = v
  57556. return s
  57557. }
  57558. type ModifyInstanceEventStartTimeInput struct {
  57559. _ struct{} `type:"structure"`
  57560. // Checks whether you have the required permissions for the action, without
  57561. // actually making the request, and provides an error response. If you have
  57562. // the required permissions, the error response is DryRunOperation. Otherwise,
  57563. // it is UnauthorizedOperation.
  57564. DryRun *bool `type:"boolean"`
  57565. // The ID of the event whose date and time you are modifying.
  57566. //
  57567. // InstanceEventId is a required field
  57568. InstanceEventId *string `type:"string" required:"true"`
  57569. // The ID of the instance with the scheduled event.
  57570. //
  57571. // InstanceId is a required field
  57572. InstanceId *string `type:"string" required:"true"`
  57573. // The new date and time when the event will take place.
  57574. //
  57575. // NotBefore is a required field
  57576. NotBefore *time.Time `type:"timestamp" required:"true"`
  57577. }
  57578. // String returns the string representation
  57579. func (s ModifyInstanceEventStartTimeInput) String() string {
  57580. return awsutil.Prettify(s)
  57581. }
  57582. // GoString returns the string representation
  57583. func (s ModifyInstanceEventStartTimeInput) GoString() string {
  57584. return s.String()
  57585. }
  57586. // Validate inspects the fields of the type to determine if they are valid.
  57587. func (s *ModifyInstanceEventStartTimeInput) Validate() error {
  57588. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
  57589. if s.InstanceEventId == nil {
  57590. invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
  57591. }
  57592. if s.InstanceId == nil {
  57593. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  57594. }
  57595. if s.NotBefore == nil {
  57596. invalidParams.Add(request.NewErrParamRequired("NotBefore"))
  57597. }
  57598. if invalidParams.Len() > 0 {
  57599. return invalidParams
  57600. }
  57601. return nil
  57602. }
  57603. // SetDryRun sets the DryRun field's value.
  57604. func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
  57605. s.DryRun = &v
  57606. return s
  57607. }
  57608. // SetInstanceEventId sets the InstanceEventId field's value.
  57609. func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
  57610. s.InstanceEventId = &v
  57611. return s
  57612. }
  57613. // SetInstanceId sets the InstanceId field's value.
  57614. func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
  57615. s.InstanceId = &v
  57616. return s
  57617. }
  57618. // SetNotBefore sets the NotBefore field's value.
  57619. func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
  57620. s.NotBefore = &v
  57621. return s
  57622. }
  57623. type ModifyInstanceEventStartTimeOutput struct {
  57624. _ struct{} `type:"structure"`
  57625. // Describes a scheduled event for an instance.
  57626. Event *InstanceStatusEvent `locationName:"event" type:"structure"`
  57627. }
  57628. // String returns the string representation
  57629. func (s ModifyInstanceEventStartTimeOutput) String() string {
  57630. return awsutil.Prettify(s)
  57631. }
  57632. // GoString returns the string representation
  57633. func (s ModifyInstanceEventStartTimeOutput) GoString() string {
  57634. return s.String()
  57635. }
  57636. // SetEvent sets the Event field's value.
  57637. func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
  57638. s.Event = v
  57639. return s
  57640. }
  57641. type ModifyInstancePlacementInput struct {
  57642. _ struct{} `type:"structure"`
  57643. // The affinity setting for the instance.
  57644. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  57645. // The name of the placement group in which to place the instance. For spread
  57646. // placement groups, the instance must have a tenancy of default. For cluster
  57647. // and partition placement groups, the instance must have a tenancy of default
  57648. // or dedicated.
  57649. //
  57650. // To remove an instance from a placement group, specify an empty string ("").
  57651. GroupName *string `type:"string"`
  57652. // The ID of the Dedicated Host with which to associate the instance.
  57653. HostId *string `locationName:"hostId" type:"string"`
  57654. // The ID of the instance that you are modifying.
  57655. //
  57656. // InstanceId is a required field
  57657. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  57658. // Reserved for future use.
  57659. PartitionNumber *int64 `type:"integer"`
  57660. // The tenancy for the instance.
  57661. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  57662. }
  57663. // String returns the string representation
  57664. func (s ModifyInstancePlacementInput) String() string {
  57665. return awsutil.Prettify(s)
  57666. }
  57667. // GoString returns the string representation
  57668. func (s ModifyInstancePlacementInput) GoString() string {
  57669. return s.String()
  57670. }
  57671. // Validate inspects the fields of the type to determine if they are valid.
  57672. func (s *ModifyInstancePlacementInput) Validate() error {
  57673. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  57674. if s.InstanceId == nil {
  57675. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  57676. }
  57677. if invalidParams.Len() > 0 {
  57678. return invalidParams
  57679. }
  57680. return nil
  57681. }
  57682. // SetAffinity sets the Affinity field's value.
  57683. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  57684. s.Affinity = &v
  57685. return s
  57686. }
  57687. // SetGroupName sets the GroupName field's value.
  57688. func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
  57689. s.GroupName = &v
  57690. return s
  57691. }
  57692. // SetHostId sets the HostId field's value.
  57693. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  57694. s.HostId = &v
  57695. return s
  57696. }
  57697. // SetInstanceId sets the InstanceId field's value.
  57698. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  57699. s.InstanceId = &v
  57700. return s
  57701. }
  57702. // SetPartitionNumber sets the PartitionNumber field's value.
  57703. func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
  57704. s.PartitionNumber = &v
  57705. return s
  57706. }
  57707. // SetTenancy sets the Tenancy field's value.
  57708. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  57709. s.Tenancy = &v
  57710. return s
  57711. }
  57712. type ModifyInstancePlacementOutput struct {
  57713. _ struct{} `type:"structure"`
  57714. // Is true if the request succeeds, and an error otherwise.
  57715. Return *bool `locationName:"return" type:"boolean"`
  57716. }
  57717. // String returns the string representation
  57718. func (s ModifyInstancePlacementOutput) String() string {
  57719. return awsutil.Prettify(s)
  57720. }
  57721. // GoString returns the string representation
  57722. func (s ModifyInstancePlacementOutput) GoString() string {
  57723. return s.String()
  57724. }
  57725. // SetReturn sets the Return field's value.
  57726. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  57727. s.Return = &v
  57728. return s
  57729. }
  57730. type ModifyLaunchTemplateInput struct {
  57731. _ struct{} `type:"structure"`
  57732. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  57733. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  57734. //
  57735. // Constraint: Maximum 128 ASCII characters.
  57736. ClientToken *string `type:"string"`
  57737. // The version number of the launch template to set as the default version.
  57738. DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
  57739. // Checks whether you have the required permissions for the action, without
  57740. // actually making the request, and provides an error response. If you have
  57741. // the required permissions, the error response is DryRunOperation. Otherwise,
  57742. // it is UnauthorizedOperation.
  57743. DryRun *bool `type:"boolean"`
  57744. // The ID of the launch template. You must specify either the launch template
  57745. // ID or launch template name in the request.
  57746. LaunchTemplateId *string `type:"string"`
  57747. // The name of the launch template. You must specify either the launch template
  57748. // ID or launch template name in the request.
  57749. LaunchTemplateName *string `min:"3" type:"string"`
  57750. }
  57751. // String returns the string representation
  57752. func (s ModifyLaunchTemplateInput) String() string {
  57753. return awsutil.Prettify(s)
  57754. }
  57755. // GoString returns the string representation
  57756. func (s ModifyLaunchTemplateInput) GoString() string {
  57757. return s.String()
  57758. }
  57759. // Validate inspects the fields of the type to determine if they are valid.
  57760. func (s *ModifyLaunchTemplateInput) Validate() error {
  57761. invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
  57762. if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
  57763. invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
  57764. }
  57765. if invalidParams.Len() > 0 {
  57766. return invalidParams
  57767. }
  57768. return nil
  57769. }
  57770. // SetClientToken sets the ClientToken field's value.
  57771. func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
  57772. s.ClientToken = &v
  57773. return s
  57774. }
  57775. // SetDefaultVersion sets the DefaultVersion field's value.
  57776. func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
  57777. s.DefaultVersion = &v
  57778. return s
  57779. }
  57780. // SetDryRun sets the DryRun field's value.
  57781. func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
  57782. s.DryRun = &v
  57783. return s
  57784. }
  57785. // SetLaunchTemplateId sets the LaunchTemplateId field's value.
  57786. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
  57787. s.LaunchTemplateId = &v
  57788. return s
  57789. }
  57790. // SetLaunchTemplateName sets the LaunchTemplateName field's value.
  57791. func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
  57792. s.LaunchTemplateName = &v
  57793. return s
  57794. }
  57795. type ModifyLaunchTemplateOutput struct {
  57796. _ struct{} `type:"structure"`
  57797. // Information about the launch template.
  57798. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
  57799. }
  57800. // String returns the string representation
  57801. func (s ModifyLaunchTemplateOutput) String() string {
  57802. return awsutil.Prettify(s)
  57803. }
  57804. // GoString returns the string representation
  57805. func (s ModifyLaunchTemplateOutput) GoString() string {
  57806. return s.String()
  57807. }
  57808. // SetLaunchTemplate sets the LaunchTemplate field's value.
  57809. func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
  57810. s.LaunchTemplate = v
  57811. return s
  57812. }
  57813. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  57814. type ModifyNetworkInterfaceAttributeInput struct {
  57815. _ struct{} `type:"structure"`
  57816. // Information about the interface attachment. If modifying the 'delete on termination'
  57817. // attribute, you must specify the ID of the interface attachment.
  57818. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  57819. // A description for the network interface.
  57820. Description *AttributeValue `locationName:"description" type:"structure"`
  57821. // Checks whether you have the required permissions for the action, without
  57822. // actually making the request, and provides an error response. If you have
  57823. // the required permissions, the error response is DryRunOperation. Otherwise,
  57824. // it is UnauthorizedOperation.
  57825. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57826. // Changes the security groups for the network interface. The new set of groups
  57827. // you specify replaces the current set. You must specify at least one group,
  57828. // even if it's just the default security group in the VPC. You must specify
  57829. // the ID of the security group, not the name.
  57830. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  57831. // The ID of the network interface.
  57832. //
  57833. // NetworkInterfaceId is a required field
  57834. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  57835. // Indicates whether source/destination checking is enabled. A value of true
  57836. // means checking is enabled, and false means checking is disabled. This value
  57837. // must be false for a NAT instance to perform NAT. For more information, see
  57838. // NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  57839. // in the Amazon Virtual Private Cloud User Guide.
  57840. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  57841. }
  57842. // String returns the string representation
  57843. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  57844. return awsutil.Prettify(s)
  57845. }
  57846. // GoString returns the string representation
  57847. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  57848. return s.String()
  57849. }
  57850. // Validate inspects the fields of the type to determine if they are valid.
  57851. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  57852. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  57853. if s.NetworkInterfaceId == nil {
  57854. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  57855. }
  57856. if invalidParams.Len() > 0 {
  57857. return invalidParams
  57858. }
  57859. return nil
  57860. }
  57861. // SetAttachment sets the Attachment field's value.
  57862. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  57863. s.Attachment = v
  57864. return s
  57865. }
  57866. // SetDescription sets the Description field's value.
  57867. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  57868. s.Description = v
  57869. return s
  57870. }
  57871. // SetDryRun sets the DryRun field's value.
  57872. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  57873. s.DryRun = &v
  57874. return s
  57875. }
  57876. // SetGroups sets the Groups field's value.
  57877. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  57878. s.Groups = v
  57879. return s
  57880. }
  57881. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  57882. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  57883. s.NetworkInterfaceId = &v
  57884. return s
  57885. }
  57886. // SetSourceDestCheck sets the SourceDestCheck field's value.
  57887. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  57888. s.SourceDestCheck = v
  57889. return s
  57890. }
  57891. type ModifyNetworkInterfaceAttributeOutput struct {
  57892. _ struct{} `type:"structure"`
  57893. }
  57894. // String returns the string representation
  57895. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  57896. return awsutil.Prettify(s)
  57897. }
  57898. // GoString returns the string representation
  57899. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  57900. return s.String()
  57901. }
  57902. // Contains the parameters for ModifyReservedInstances.
  57903. type ModifyReservedInstancesInput struct {
  57904. _ struct{} `type:"structure"`
  57905. // A unique, case-sensitive token you provide to ensure idempotency of your
  57906. // modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  57907. ClientToken *string `locationName:"clientToken" type:"string"`
  57908. // The IDs of the Reserved Instances to modify.
  57909. //
  57910. // ReservedInstancesIds is a required field
  57911. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  57912. // The configuration settings for the Reserved Instances to modify.
  57913. //
  57914. // TargetConfigurations is a required field
  57915. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  57916. }
  57917. // String returns the string representation
  57918. func (s ModifyReservedInstancesInput) String() string {
  57919. return awsutil.Prettify(s)
  57920. }
  57921. // GoString returns the string representation
  57922. func (s ModifyReservedInstancesInput) GoString() string {
  57923. return s.String()
  57924. }
  57925. // Validate inspects the fields of the type to determine if they are valid.
  57926. func (s *ModifyReservedInstancesInput) Validate() error {
  57927. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  57928. if s.ReservedInstancesIds == nil {
  57929. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  57930. }
  57931. if s.TargetConfigurations == nil {
  57932. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  57933. }
  57934. if invalidParams.Len() > 0 {
  57935. return invalidParams
  57936. }
  57937. return nil
  57938. }
  57939. // SetClientToken sets the ClientToken field's value.
  57940. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  57941. s.ClientToken = &v
  57942. return s
  57943. }
  57944. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  57945. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  57946. s.ReservedInstancesIds = v
  57947. return s
  57948. }
  57949. // SetTargetConfigurations sets the TargetConfigurations field's value.
  57950. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  57951. s.TargetConfigurations = v
  57952. return s
  57953. }
  57954. // Contains the output of ModifyReservedInstances.
  57955. type ModifyReservedInstancesOutput struct {
  57956. _ struct{} `type:"structure"`
  57957. // The ID for the modification.
  57958. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  57959. }
  57960. // String returns the string representation
  57961. func (s ModifyReservedInstancesOutput) String() string {
  57962. return awsutil.Prettify(s)
  57963. }
  57964. // GoString returns the string representation
  57965. func (s ModifyReservedInstancesOutput) GoString() string {
  57966. return s.String()
  57967. }
  57968. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  57969. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  57970. s.ReservedInstancesModificationId = &v
  57971. return s
  57972. }
  57973. // Contains the parameters for ModifySnapshotAttribute.
  57974. type ModifySnapshotAttributeInput struct {
  57975. _ struct{} `type:"structure"`
  57976. // The snapshot attribute to modify. Only volume creation permissions can be
  57977. // modified.
  57978. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  57979. // A JSON representation of the snapshot attribute modification.
  57980. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  57981. // Checks whether you have the required permissions for the action, without
  57982. // actually making the request, and provides an error response. If you have
  57983. // the required permissions, the error response is DryRunOperation. Otherwise,
  57984. // it is UnauthorizedOperation.
  57985. DryRun *bool `locationName:"dryRun" type:"boolean"`
  57986. // The group to modify for the snapshot.
  57987. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  57988. // The type of operation to perform to the attribute.
  57989. OperationType *string `type:"string" enum:"OperationType"`
  57990. // The ID of the snapshot.
  57991. //
  57992. // SnapshotId is a required field
  57993. SnapshotId *string `type:"string" required:"true"`
  57994. // The account ID to modify for the snapshot.
  57995. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  57996. }
  57997. // String returns the string representation
  57998. func (s ModifySnapshotAttributeInput) String() string {
  57999. return awsutil.Prettify(s)
  58000. }
  58001. // GoString returns the string representation
  58002. func (s ModifySnapshotAttributeInput) GoString() string {
  58003. return s.String()
  58004. }
  58005. // Validate inspects the fields of the type to determine if they are valid.
  58006. func (s *ModifySnapshotAttributeInput) Validate() error {
  58007. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  58008. if s.SnapshotId == nil {
  58009. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  58010. }
  58011. if invalidParams.Len() > 0 {
  58012. return invalidParams
  58013. }
  58014. return nil
  58015. }
  58016. // SetAttribute sets the Attribute field's value.
  58017. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  58018. s.Attribute = &v
  58019. return s
  58020. }
  58021. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  58022. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  58023. s.CreateVolumePermission = v
  58024. return s
  58025. }
  58026. // SetDryRun sets the DryRun field's value.
  58027. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  58028. s.DryRun = &v
  58029. return s
  58030. }
  58031. // SetGroupNames sets the GroupNames field's value.
  58032. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  58033. s.GroupNames = v
  58034. return s
  58035. }
  58036. // SetOperationType sets the OperationType field's value.
  58037. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  58038. s.OperationType = &v
  58039. return s
  58040. }
  58041. // SetSnapshotId sets the SnapshotId field's value.
  58042. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  58043. s.SnapshotId = &v
  58044. return s
  58045. }
  58046. // SetUserIds sets the UserIds field's value.
  58047. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  58048. s.UserIds = v
  58049. return s
  58050. }
  58051. type ModifySnapshotAttributeOutput struct {
  58052. _ struct{} `type:"structure"`
  58053. }
  58054. // String returns the string representation
  58055. func (s ModifySnapshotAttributeOutput) String() string {
  58056. return awsutil.Prettify(s)
  58057. }
  58058. // GoString returns the string representation
  58059. func (s ModifySnapshotAttributeOutput) GoString() string {
  58060. return s.String()
  58061. }
  58062. // Contains the parameters for ModifySpotFleetRequest.
  58063. type ModifySpotFleetRequestInput struct {
  58064. _ struct{} `type:"structure"`
  58065. // Indicates whether running Spot Instances should be terminated if the target
  58066. // capacity of the Spot Fleet request is decreased below the current size of
  58067. // the Spot Fleet.
  58068. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  58069. // The ID of the Spot Fleet request.
  58070. //
  58071. // SpotFleetRequestId is a required field
  58072. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  58073. // The size of the fleet.
  58074. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  58075. }
  58076. // String returns the string representation
  58077. func (s ModifySpotFleetRequestInput) String() string {
  58078. return awsutil.Prettify(s)
  58079. }
  58080. // GoString returns the string representation
  58081. func (s ModifySpotFleetRequestInput) GoString() string {
  58082. return s.String()
  58083. }
  58084. // Validate inspects the fields of the type to determine if they are valid.
  58085. func (s *ModifySpotFleetRequestInput) Validate() error {
  58086. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  58087. if s.SpotFleetRequestId == nil {
  58088. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  58089. }
  58090. if invalidParams.Len() > 0 {
  58091. return invalidParams
  58092. }
  58093. return nil
  58094. }
  58095. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  58096. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  58097. s.ExcessCapacityTerminationPolicy = &v
  58098. return s
  58099. }
  58100. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  58101. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  58102. s.SpotFleetRequestId = &v
  58103. return s
  58104. }
  58105. // SetTargetCapacity sets the TargetCapacity field's value.
  58106. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  58107. s.TargetCapacity = &v
  58108. return s
  58109. }
  58110. // Contains the output of ModifySpotFleetRequest.
  58111. type ModifySpotFleetRequestOutput struct {
  58112. _ struct{} `type:"structure"`
  58113. // Is true if the request succeeds, and an error otherwise.
  58114. Return *bool `locationName:"return" type:"boolean"`
  58115. }
  58116. // String returns the string representation
  58117. func (s ModifySpotFleetRequestOutput) String() string {
  58118. return awsutil.Prettify(s)
  58119. }
  58120. // GoString returns the string representation
  58121. func (s ModifySpotFleetRequestOutput) GoString() string {
  58122. return s.String()
  58123. }
  58124. // SetReturn sets the Return field's value.
  58125. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  58126. s.Return = &v
  58127. return s
  58128. }
  58129. type ModifySubnetAttributeInput struct {
  58130. _ struct{} `type:"structure"`
  58131. // Specify true to indicate that network interfaces created in the specified
  58132. // subnet should be assigned an IPv6 address. This includes a network interface
  58133. // that's created when launching an instance into the subnet (the instance therefore
  58134. // receives an IPv6 address).
  58135. //
  58136. // If you enable the IPv6 addressing feature for your subnet, your network interface
  58137. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  58138. // or later of the Amazon EC2 API.
  58139. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  58140. // Specify true to indicate that network interfaces created in the specified
  58141. // subnet should be assigned a public IPv4 address. This includes a network
  58142. // interface that's created when launching an instance into the subnet (the
  58143. // instance therefore receives a public IPv4 address).
  58144. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  58145. // The ID of the subnet.
  58146. //
  58147. // SubnetId is a required field
  58148. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  58149. }
  58150. // String returns the string representation
  58151. func (s ModifySubnetAttributeInput) String() string {
  58152. return awsutil.Prettify(s)
  58153. }
  58154. // GoString returns the string representation
  58155. func (s ModifySubnetAttributeInput) GoString() string {
  58156. return s.String()
  58157. }
  58158. // Validate inspects the fields of the type to determine if they are valid.
  58159. func (s *ModifySubnetAttributeInput) Validate() error {
  58160. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  58161. if s.SubnetId == nil {
  58162. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  58163. }
  58164. if invalidParams.Len() > 0 {
  58165. return invalidParams
  58166. }
  58167. return nil
  58168. }
  58169. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  58170. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  58171. s.AssignIpv6AddressOnCreation = v
  58172. return s
  58173. }
  58174. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  58175. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  58176. s.MapPublicIpOnLaunch = v
  58177. return s
  58178. }
  58179. // SetSubnetId sets the SubnetId field's value.
  58180. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  58181. s.SubnetId = &v
  58182. return s
  58183. }
  58184. type ModifySubnetAttributeOutput struct {
  58185. _ struct{} `type:"structure"`
  58186. }
  58187. // String returns the string representation
  58188. func (s ModifySubnetAttributeOutput) String() string {
  58189. return awsutil.Prettify(s)
  58190. }
  58191. // GoString returns the string representation
  58192. func (s ModifySubnetAttributeOutput) GoString() string {
  58193. return s.String()
  58194. }
  58195. type ModifyTransitGatewayVpcAttachmentInput struct {
  58196. _ struct{} `type:"structure"`
  58197. // The IDs of one or more subnets to add. You can specify at most one subnet
  58198. // per Availability Zone.
  58199. AddSubnetIds []*string `locationNameList:"item" type:"list"`
  58200. // Checks whether you have the required permissions for the action, without
  58201. // actually making the request, and provides an error response. If you have
  58202. // the required permissions, the error response is DryRunOperation. Otherwise,
  58203. // it is UnauthorizedOperation.
  58204. DryRun *bool `type:"boolean"`
  58205. // The new VPC attachment options.
  58206. Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
  58207. // The IDs of one or more subnets to remove.
  58208. RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
  58209. // The ID of the attachment.
  58210. //
  58211. // TransitGatewayAttachmentId is a required field
  58212. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  58213. }
  58214. // String returns the string representation
  58215. func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
  58216. return awsutil.Prettify(s)
  58217. }
  58218. // GoString returns the string representation
  58219. func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
  58220. return s.String()
  58221. }
  58222. // Validate inspects the fields of the type to determine if they are valid.
  58223. func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
  58224. invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
  58225. if s.TransitGatewayAttachmentId == nil {
  58226. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  58227. }
  58228. if invalidParams.Len() > 0 {
  58229. return invalidParams
  58230. }
  58231. return nil
  58232. }
  58233. // SetAddSubnetIds sets the AddSubnetIds field's value.
  58234. func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
  58235. s.AddSubnetIds = v
  58236. return s
  58237. }
  58238. // SetDryRun sets the DryRun field's value.
  58239. func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
  58240. s.DryRun = &v
  58241. return s
  58242. }
  58243. // SetOptions sets the Options field's value.
  58244. func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
  58245. s.Options = v
  58246. return s
  58247. }
  58248. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  58249. func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
  58250. s.RemoveSubnetIds = v
  58251. return s
  58252. }
  58253. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  58254. func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
  58255. s.TransitGatewayAttachmentId = &v
  58256. return s
  58257. }
  58258. type ModifyTransitGatewayVpcAttachmentOutput struct {
  58259. _ struct{} `type:"structure"`
  58260. // Information about the modified attachment.
  58261. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  58262. }
  58263. // String returns the string representation
  58264. func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
  58265. return awsutil.Prettify(s)
  58266. }
  58267. // GoString returns the string representation
  58268. func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
  58269. return s.String()
  58270. }
  58271. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  58272. func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
  58273. s.TransitGatewayVpcAttachment = v
  58274. return s
  58275. }
  58276. // Describes the options for a VPC attachment.
  58277. type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
  58278. _ struct{} `type:"structure"`
  58279. // Enable or disable DNS support. The default is enable.
  58280. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  58281. // Enable or disable IPv6 support. The default is enable.
  58282. Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
  58283. }
  58284. // String returns the string representation
  58285. func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
  58286. return awsutil.Prettify(s)
  58287. }
  58288. // GoString returns the string representation
  58289. func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
  58290. return s.String()
  58291. }
  58292. // SetDnsSupport sets the DnsSupport field's value.
  58293. func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
  58294. s.DnsSupport = &v
  58295. return s
  58296. }
  58297. // SetIpv6Support sets the Ipv6Support field's value.
  58298. func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
  58299. s.Ipv6Support = &v
  58300. return s
  58301. }
  58302. // Contains the parameters for ModifyVolumeAttribute.
  58303. type ModifyVolumeAttributeInput struct {
  58304. _ struct{} `type:"structure"`
  58305. // Indicates whether the volume should be auto-enabled for I/O operations.
  58306. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  58307. // Checks whether you have the required permissions for the action, without
  58308. // actually making the request, and provides an error response. If you have
  58309. // the required permissions, the error response is DryRunOperation. Otherwise,
  58310. // it is UnauthorizedOperation.
  58311. DryRun *bool `locationName:"dryRun" type:"boolean"`
  58312. // The ID of the volume.
  58313. //
  58314. // VolumeId is a required field
  58315. VolumeId *string `type:"string" required:"true"`
  58316. }
  58317. // String returns the string representation
  58318. func (s ModifyVolumeAttributeInput) String() string {
  58319. return awsutil.Prettify(s)
  58320. }
  58321. // GoString returns the string representation
  58322. func (s ModifyVolumeAttributeInput) GoString() string {
  58323. return s.String()
  58324. }
  58325. // Validate inspects the fields of the type to determine if they are valid.
  58326. func (s *ModifyVolumeAttributeInput) Validate() error {
  58327. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  58328. if s.VolumeId == nil {
  58329. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  58330. }
  58331. if invalidParams.Len() > 0 {
  58332. return invalidParams
  58333. }
  58334. return nil
  58335. }
  58336. // SetAutoEnableIO sets the AutoEnableIO field's value.
  58337. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  58338. s.AutoEnableIO = v
  58339. return s
  58340. }
  58341. // SetDryRun sets the DryRun field's value.
  58342. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  58343. s.DryRun = &v
  58344. return s
  58345. }
  58346. // SetVolumeId sets the VolumeId field's value.
  58347. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  58348. s.VolumeId = &v
  58349. return s
  58350. }
  58351. type ModifyVolumeAttributeOutput struct {
  58352. _ struct{} `type:"structure"`
  58353. }
  58354. // String returns the string representation
  58355. func (s ModifyVolumeAttributeOutput) String() string {
  58356. return awsutil.Prettify(s)
  58357. }
  58358. // GoString returns the string representation
  58359. func (s ModifyVolumeAttributeOutput) GoString() string {
  58360. return s.String()
  58361. }
  58362. type ModifyVolumeInput 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. // The target IOPS rate of the volume.
  58370. //
  58371. // This is only valid for Provisioned IOPS SSD (io1) volumes. For more information,
  58372. // see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  58373. //
  58374. // Default: If no IOPS value is specified, the existing value is retained.
  58375. Iops *int64 `type:"integer"`
  58376. // The target size of the volume, in GiB. The target volume size must be greater
  58377. // than or equal to than the existing size of the volume. For information about
  58378. // available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  58379. //
  58380. // Default: If no size is specified, the existing size is retained.
  58381. Size *int64 `type:"integer"`
  58382. // The ID of the volume.
  58383. //
  58384. // VolumeId is a required field
  58385. VolumeId *string `type:"string" required:"true"`
  58386. // The target EBS volume type of the volume.
  58387. //
  58388. // Default: If no type is specified, the existing type is retained.
  58389. VolumeType *string `type:"string" enum:"VolumeType"`
  58390. }
  58391. // String returns the string representation
  58392. func (s ModifyVolumeInput) String() string {
  58393. return awsutil.Prettify(s)
  58394. }
  58395. // GoString returns the string representation
  58396. func (s ModifyVolumeInput) GoString() string {
  58397. return s.String()
  58398. }
  58399. // Validate inspects the fields of the type to determine if they are valid.
  58400. func (s *ModifyVolumeInput) Validate() error {
  58401. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  58402. if s.VolumeId == nil {
  58403. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  58404. }
  58405. if invalidParams.Len() > 0 {
  58406. return invalidParams
  58407. }
  58408. return nil
  58409. }
  58410. // SetDryRun sets the DryRun field's value.
  58411. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  58412. s.DryRun = &v
  58413. return s
  58414. }
  58415. // SetIops sets the Iops field's value.
  58416. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  58417. s.Iops = &v
  58418. return s
  58419. }
  58420. // SetSize sets the Size field's value.
  58421. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  58422. s.Size = &v
  58423. return s
  58424. }
  58425. // SetVolumeId sets the VolumeId field's value.
  58426. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  58427. s.VolumeId = &v
  58428. return s
  58429. }
  58430. // SetVolumeType sets the VolumeType field's value.
  58431. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  58432. s.VolumeType = &v
  58433. return s
  58434. }
  58435. type ModifyVolumeOutput struct {
  58436. _ struct{} `type:"structure"`
  58437. // Information about the volume modification.
  58438. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  58439. }
  58440. // String returns the string representation
  58441. func (s ModifyVolumeOutput) String() string {
  58442. return awsutil.Prettify(s)
  58443. }
  58444. // GoString returns the string representation
  58445. func (s ModifyVolumeOutput) GoString() string {
  58446. return s.String()
  58447. }
  58448. // SetVolumeModification sets the VolumeModification field's value.
  58449. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  58450. s.VolumeModification = v
  58451. return s
  58452. }
  58453. type ModifyVpcAttributeInput struct {
  58454. _ struct{} `type:"structure"`
  58455. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  58456. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  58457. //
  58458. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  58459. // same request. Use separate requests for each attribute. You can only enable
  58460. // DNS hostnames if you've enabled DNS support.
  58461. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  58462. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  58463. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  58464. // or the reserved IP address at the base of the VPC network range "plus two"
  58465. // succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
  58466. // public DNS hostnames to IP addresses is not enabled.
  58467. //
  58468. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  58469. // same request. Use separate requests for each attribute.
  58470. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  58471. // The ID of the VPC.
  58472. //
  58473. // VpcId is a required field
  58474. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  58475. }
  58476. // String returns the string representation
  58477. func (s ModifyVpcAttributeInput) String() string {
  58478. return awsutil.Prettify(s)
  58479. }
  58480. // GoString returns the string representation
  58481. func (s ModifyVpcAttributeInput) GoString() string {
  58482. return s.String()
  58483. }
  58484. // Validate inspects the fields of the type to determine if they are valid.
  58485. func (s *ModifyVpcAttributeInput) Validate() error {
  58486. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  58487. if s.VpcId == nil {
  58488. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  58489. }
  58490. if invalidParams.Len() > 0 {
  58491. return invalidParams
  58492. }
  58493. return nil
  58494. }
  58495. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  58496. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  58497. s.EnableDnsHostnames = v
  58498. return s
  58499. }
  58500. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  58501. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  58502. s.EnableDnsSupport = v
  58503. return s
  58504. }
  58505. // SetVpcId sets the VpcId field's value.
  58506. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  58507. s.VpcId = &v
  58508. return s
  58509. }
  58510. type ModifyVpcAttributeOutput struct {
  58511. _ struct{} `type:"structure"`
  58512. }
  58513. // String returns the string representation
  58514. func (s ModifyVpcAttributeOutput) String() string {
  58515. return awsutil.Prettify(s)
  58516. }
  58517. // GoString returns the string representation
  58518. func (s ModifyVpcAttributeOutput) GoString() string {
  58519. return s.String()
  58520. }
  58521. type ModifyVpcEndpointConnectionNotificationInput struct {
  58522. _ struct{} `type:"structure"`
  58523. // One or more events for the endpoint. Valid values are Accept, Connect, Delete,
  58524. // and Reject.
  58525. ConnectionEvents []*string `locationNameList:"item" type:"list"`
  58526. // The ARN for the SNS topic for the notification.
  58527. ConnectionNotificationArn *string `type:"string"`
  58528. // The ID of the notification.
  58529. //
  58530. // ConnectionNotificationId is a required field
  58531. ConnectionNotificationId *string `type:"string" required:"true"`
  58532. // Checks whether you have the required permissions for the action, without
  58533. // actually making the request, and provides an error response. If you have
  58534. // the required permissions, the error response is DryRunOperation. Otherwise,
  58535. // it is UnauthorizedOperation.
  58536. DryRun *bool `type:"boolean"`
  58537. }
  58538. // String returns the string representation
  58539. func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
  58540. return awsutil.Prettify(s)
  58541. }
  58542. // GoString returns the string representation
  58543. func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
  58544. return s.String()
  58545. }
  58546. // Validate inspects the fields of the type to determine if they are valid.
  58547. func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
  58548. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
  58549. if s.ConnectionNotificationId == nil {
  58550. invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
  58551. }
  58552. if invalidParams.Len() > 0 {
  58553. return invalidParams
  58554. }
  58555. return nil
  58556. }
  58557. // SetConnectionEvents sets the ConnectionEvents field's value.
  58558. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
  58559. s.ConnectionEvents = v
  58560. return s
  58561. }
  58562. // SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
  58563. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
  58564. s.ConnectionNotificationArn = &v
  58565. return s
  58566. }
  58567. // SetConnectionNotificationId sets the ConnectionNotificationId field's value.
  58568. func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
  58569. s.ConnectionNotificationId = &v
  58570. return s
  58571. }
  58572. // SetDryRun sets the DryRun field's value.
  58573. func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
  58574. s.DryRun = &v
  58575. return s
  58576. }
  58577. type ModifyVpcEndpointConnectionNotificationOutput struct {
  58578. _ struct{} `type:"structure"`
  58579. // Returns true if the request succeeds; otherwise, it returns an error.
  58580. ReturnValue *bool `locationName:"return" type:"boolean"`
  58581. }
  58582. // String returns the string representation
  58583. func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
  58584. return awsutil.Prettify(s)
  58585. }
  58586. // GoString returns the string representation
  58587. func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
  58588. return s.String()
  58589. }
  58590. // SetReturnValue sets the ReturnValue field's value.
  58591. func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
  58592. s.ReturnValue = &v
  58593. return s
  58594. }
  58595. // Contains the parameters for ModifyVpcEndpoint.
  58596. type ModifyVpcEndpointInput struct {
  58597. _ struct{} `type:"structure"`
  58598. // (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
  58599. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  58600. // (Interface endpoint) One or more security group IDs to associate with the
  58601. // network interface.
  58602. AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
  58603. // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
  58604. AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
  58605. // Checks whether you have the required permissions for the action, without
  58606. // actually making the request, and provides an error response. If you have
  58607. // the required permissions, the error response is DryRunOperation. Otherwise,
  58608. // it is UnauthorizedOperation.
  58609. DryRun *bool `type:"boolean"`
  58610. // A policy to attach to the endpoint that controls access to the service. The
  58611. // policy must be in valid JSON format. If this parameter is not specified,
  58612. // we attach a default policy that allows full access to the service.
  58613. PolicyDocument *string `type:"string"`
  58614. // (Interface endpoint) Indicate whether a private hosted zone is associated
  58615. // with the VPC.
  58616. PrivateDnsEnabled *bool `type:"boolean"`
  58617. // (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
  58618. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  58619. // (Interface endpoint) One or more security group IDs to disassociate from
  58620. // the network interface.
  58621. RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
  58622. // (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
  58623. RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
  58624. // (Gateway endpoint) Specify true to reset the policy document to the default
  58625. // policy. The default policy allows full access to the service.
  58626. ResetPolicy *bool `type:"boolean"`
  58627. // The ID of the endpoint.
  58628. //
  58629. // VpcEndpointId is a required field
  58630. VpcEndpointId *string `type:"string" required:"true"`
  58631. }
  58632. // String returns the string representation
  58633. func (s ModifyVpcEndpointInput) String() string {
  58634. return awsutil.Prettify(s)
  58635. }
  58636. // GoString returns the string representation
  58637. func (s ModifyVpcEndpointInput) GoString() string {
  58638. return s.String()
  58639. }
  58640. // Validate inspects the fields of the type to determine if they are valid.
  58641. func (s *ModifyVpcEndpointInput) Validate() error {
  58642. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  58643. if s.VpcEndpointId == nil {
  58644. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  58645. }
  58646. if invalidParams.Len() > 0 {
  58647. return invalidParams
  58648. }
  58649. return nil
  58650. }
  58651. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  58652. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  58653. s.AddRouteTableIds = v
  58654. return s
  58655. }
  58656. // SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
  58657. func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  58658. s.AddSecurityGroupIds = v
  58659. return s
  58660. }
  58661. // SetAddSubnetIds sets the AddSubnetIds field's value.
  58662. func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
  58663. s.AddSubnetIds = v
  58664. return s
  58665. }
  58666. // SetDryRun sets the DryRun field's value.
  58667. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  58668. s.DryRun = &v
  58669. return s
  58670. }
  58671. // SetPolicyDocument sets the PolicyDocument field's value.
  58672. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  58673. s.PolicyDocument = &v
  58674. return s
  58675. }
  58676. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  58677. func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
  58678. s.PrivateDnsEnabled = &v
  58679. return s
  58680. }
  58681. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  58682. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  58683. s.RemoveRouteTableIds = v
  58684. return s
  58685. }
  58686. // SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
  58687. func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
  58688. s.RemoveSecurityGroupIds = v
  58689. return s
  58690. }
  58691. // SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
  58692. func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
  58693. s.RemoveSubnetIds = v
  58694. return s
  58695. }
  58696. // SetResetPolicy sets the ResetPolicy field's value.
  58697. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  58698. s.ResetPolicy = &v
  58699. return s
  58700. }
  58701. // SetVpcEndpointId sets the VpcEndpointId field's value.
  58702. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  58703. s.VpcEndpointId = &v
  58704. return s
  58705. }
  58706. type ModifyVpcEndpointOutput struct {
  58707. _ struct{} `type:"structure"`
  58708. // Returns true if the request succeeds; otherwise, it returns an error.
  58709. Return *bool `locationName:"return" type:"boolean"`
  58710. }
  58711. // String returns the string representation
  58712. func (s ModifyVpcEndpointOutput) String() string {
  58713. return awsutil.Prettify(s)
  58714. }
  58715. // GoString returns the string representation
  58716. func (s ModifyVpcEndpointOutput) GoString() string {
  58717. return s.String()
  58718. }
  58719. // SetReturn sets the Return field's value.
  58720. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  58721. s.Return = &v
  58722. return s
  58723. }
  58724. type ModifyVpcEndpointServiceConfigurationInput struct {
  58725. _ struct{} `type:"structure"`
  58726. // Indicate whether requests to create an endpoint to your service must be accepted.
  58727. AcceptanceRequired *bool `type:"boolean"`
  58728. // The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
  58729. // service configuration.
  58730. AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  58731. // Checks whether you have the required permissions for the action, without
  58732. // actually making the request, and provides an error response. If you have
  58733. // the required permissions, the error response is DryRunOperation. Otherwise,
  58734. // it is UnauthorizedOperation.
  58735. DryRun *bool `type:"boolean"`
  58736. // The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
  58737. // your service configuration.
  58738. RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
  58739. // The ID of the service.
  58740. //
  58741. // ServiceId is a required field
  58742. ServiceId *string `type:"string" required:"true"`
  58743. }
  58744. // String returns the string representation
  58745. func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
  58746. return awsutil.Prettify(s)
  58747. }
  58748. // GoString returns the string representation
  58749. func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
  58750. return s.String()
  58751. }
  58752. // Validate inspects the fields of the type to determine if they are valid.
  58753. func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
  58754. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
  58755. if s.ServiceId == nil {
  58756. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  58757. }
  58758. if invalidParams.Len() > 0 {
  58759. return invalidParams
  58760. }
  58761. return nil
  58762. }
  58763. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  58764. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  58765. s.AcceptanceRequired = &v
  58766. return s
  58767. }
  58768. // SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
  58769. func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  58770. s.AddNetworkLoadBalancerArns = v
  58771. return s
  58772. }
  58773. // SetDryRun sets the DryRun field's value.
  58774. func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
  58775. s.DryRun = &v
  58776. return s
  58777. }
  58778. // SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
  58779. func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
  58780. s.RemoveNetworkLoadBalancerArns = v
  58781. return s
  58782. }
  58783. // SetServiceId sets the ServiceId field's value.
  58784. func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
  58785. s.ServiceId = &v
  58786. return s
  58787. }
  58788. type ModifyVpcEndpointServiceConfigurationOutput struct {
  58789. _ struct{} `type:"structure"`
  58790. // Returns true if the request succeeds; otherwise, it returns an error.
  58791. Return *bool `locationName:"return" type:"boolean"`
  58792. }
  58793. // String returns the string representation
  58794. func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
  58795. return awsutil.Prettify(s)
  58796. }
  58797. // GoString returns the string representation
  58798. func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
  58799. return s.String()
  58800. }
  58801. // SetReturn sets the Return field's value.
  58802. func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
  58803. s.Return = &v
  58804. return s
  58805. }
  58806. type ModifyVpcEndpointServicePermissionsInput struct {
  58807. _ struct{} `type:"structure"`
  58808. // The Amazon Resource Names (ARN) of one or more principals. Permissions are
  58809. // granted to the principals in this list. To grant permissions to all principals,
  58810. // specify an asterisk (*).
  58811. AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  58812. // Checks whether you have the required permissions for the action, without
  58813. // actually making the request, and provides an error response. If you have
  58814. // the required permissions, the error response is DryRunOperation. Otherwise,
  58815. // it is UnauthorizedOperation.
  58816. DryRun *bool `type:"boolean"`
  58817. // The Amazon Resource Names (ARN) of one or more principals. Permissions are
  58818. // revoked for principals in this list.
  58819. RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
  58820. // The ID of the service.
  58821. //
  58822. // ServiceId is a required field
  58823. ServiceId *string `type:"string" required:"true"`
  58824. }
  58825. // String returns the string representation
  58826. func (s ModifyVpcEndpointServicePermissionsInput) String() string {
  58827. return awsutil.Prettify(s)
  58828. }
  58829. // GoString returns the string representation
  58830. func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
  58831. return s.String()
  58832. }
  58833. // Validate inspects the fields of the type to determine if they are valid.
  58834. func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
  58835. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
  58836. if s.ServiceId == nil {
  58837. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  58838. }
  58839. if invalidParams.Len() > 0 {
  58840. return invalidParams
  58841. }
  58842. return nil
  58843. }
  58844. // SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
  58845. func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  58846. s.AddAllowedPrincipals = v
  58847. return s
  58848. }
  58849. // SetDryRun sets the DryRun field's value.
  58850. func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
  58851. s.DryRun = &v
  58852. return s
  58853. }
  58854. // SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
  58855. func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
  58856. s.RemoveAllowedPrincipals = v
  58857. return s
  58858. }
  58859. // SetServiceId sets the ServiceId field's value.
  58860. func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
  58861. s.ServiceId = &v
  58862. return s
  58863. }
  58864. type ModifyVpcEndpointServicePermissionsOutput struct {
  58865. _ struct{} `type:"structure"`
  58866. // Returns true if the request succeeds; otherwise, it returns an error.
  58867. ReturnValue *bool `locationName:"return" type:"boolean"`
  58868. }
  58869. // String returns the string representation
  58870. func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
  58871. return awsutil.Prettify(s)
  58872. }
  58873. // GoString returns the string representation
  58874. func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
  58875. return s.String()
  58876. }
  58877. // SetReturnValue sets the ReturnValue field's value.
  58878. func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
  58879. s.ReturnValue = &v
  58880. return s
  58881. }
  58882. type ModifyVpcPeeringConnectionOptionsInput struct {
  58883. _ struct{} `type:"structure"`
  58884. // The VPC peering connection options for the accepter VPC.
  58885. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  58886. // Checks whether you have the required permissions for the action, without
  58887. // actually making the request, and provides an error response. If you have
  58888. // the required permissions, the error response is DryRunOperation. Otherwise,
  58889. // it is UnauthorizedOperation.
  58890. DryRun *bool `type:"boolean"`
  58891. // The VPC peering connection options for the requester VPC.
  58892. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  58893. // The ID of the VPC peering connection.
  58894. //
  58895. // VpcPeeringConnectionId is a required field
  58896. VpcPeeringConnectionId *string `type:"string" required:"true"`
  58897. }
  58898. // String returns the string representation
  58899. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  58900. return awsutil.Prettify(s)
  58901. }
  58902. // GoString returns the string representation
  58903. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  58904. return s.String()
  58905. }
  58906. // Validate inspects the fields of the type to determine if they are valid.
  58907. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  58908. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  58909. if s.VpcPeeringConnectionId == nil {
  58910. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  58911. }
  58912. if invalidParams.Len() > 0 {
  58913. return invalidParams
  58914. }
  58915. return nil
  58916. }
  58917. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  58918. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  58919. s.AccepterPeeringConnectionOptions = v
  58920. return s
  58921. }
  58922. // SetDryRun sets the DryRun field's value.
  58923. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  58924. s.DryRun = &v
  58925. return s
  58926. }
  58927. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  58928. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  58929. s.RequesterPeeringConnectionOptions = v
  58930. return s
  58931. }
  58932. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  58933. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  58934. s.VpcPeeringConnectionId = &v
  58935. return s
  58936. }
  58937. type ModifyVpcPeeringConnectionOptionsOutput struct {
  58938. _ struct{} `type:"structure"`
  58939. // Information about the VPC peering connection options for the accepter VPC.
  58940. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  58941. // Information about the VPC peering connection options for the requester VPC.
  58942. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  58943. }
  58944. // String returns the string representation
  58945. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  58946. return awsutil.Prettify(s)
  58947. }
  58948. // GoString returns the string representation
  58949. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  58950. return s.String()
  58951. }
  58952. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  58953. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  58954. s.AccepterPeeringConnectionOptions = v
  58955. return s
  58956. }
  58957. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  58958. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  58959. s.RequesterPeeringConnectionOptions = v
  58960. return s
  58961. }
  58962. type ModifyVpcTenancyInput struct {
  58963. _ struct{} `type:"structure"`
  58964. // Checks whether you have the required permissions for the action, without
  58965. // actually making the request, and provides an error response. If you have
  58966. // the required permissions, the error response is DryRunOperation. Otherwise,
  58967. // it is UnauthorizedOperation.
  58968. DryRun *bool `type:"boolean"`
  58969. // The instance tenancy attribute for the VPC.
  58970. //
  58971. // InstanceTenancy is a required field
  58972. InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
  58973. // The ID of the VPC.
  58974. //
  58975. // VpcId is a required field
  58976. VpcId *string `type:"string" required:"true"`
  58977. }
  58978. // String returns the string representation
  58979. func (s ModifyVpcTenancyInput) String() string {
  58980. return awsutil.Prettify(s)
  58981. }
  58982. // GoString returns the string representation
  58983. func (s ModifyVpcTenancyInput) GoString() string {
  58984. return s.String()
  58985. }
  58986. // Validate inspects the fields of the type to determine if they are valid.
  58987. func (s *ModifyVpcTenancyInput) Validate() error {
  58988. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
  58989. if s.InstanceTenancy == nil {
  58990. invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
  58991. }
  58992. if s.VpcId == nil {
  58993. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  58994. }
  58995. if invalidParams.Len() > 0 {
  58996. return invalidParams
  58997. }
  58998. return nil
  58999. }
  59000. // SetDryRun sets the DryRun field's value.
  59001. func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
  59002. s.DryRun = &v
  59003. return s
  59004. }
  59005. // SetInstanceTenancy sets the InstanceTenancy field's value.
  59006. func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
  59007. s.InstanceTenancy = &v
  59008. return s
  59009. }
  59010. // SetVpcId sets the VpcId field's value.
  59011. func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
  59012. s.VpcId = &v
  59013. return s
  59014. }
  59015. type ModifyVpcTenancyOutput struct {
  59016. _ struct{} `type:"structure"`
  59017. // Returns true if the request succeeds; otherwise, returns an error.
  59018. ReturnValue *bool `locationName:"return" type:"boolean"`
  59019. }
  59020. // String returns the string representation
  59021. func (s ModifyVpcTenancyOutput) String() string {
  59022. return awsutil.Prettify(s)
  59023. }
  59024. // GoString returns the string representation
  59025. func (s ModifyVpcTenancyOutput) GoString() string {
  59026. return s.String()
  59027. }
  59028. // SetReturnValue sets the ReturnValue field's value.
  59029. func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
  59030. s.ReturnValue = &v
  59031. return s
  59032. }
  59033. type MonitorInstancesInput struct {
  59034. _ struct{} `type:"structure"`
  59035. // Checks whether you have the required permissions for the action, without
  59036. // actually making the request, and provides an error response. If you have
  59037. // the required permissions, the error response is DryRunOperation. Otherwise,
  59038. // it is UnauthorizedOperation.
  59039. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59040. // One or more instance IDs.
  59041. //
  59042. // InstanceIds is a required field
  59043. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  59044. }
  59045. // String returns the string representation
  59046. func (s MonitorInstancesInput) String() string {
  59047. return awsutil.Prettify(s)
  59048. }
  59049. // GoString returns the string representation
  59050. func (s MonitorInstancesInput) GoString() string {
  59051. return s.String()
  59052. }
  59053. // Validate inspects the fields of the type to determine if they are valid.
  59054. func (s *MonitorInstancesInput) Validate() error {
  59055. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  59056. if s.InstanceIds == nil {
  59057. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  59058. }
  59059. if invalidParams.Len() > 0 {
  59060. return invalidParams
  59061. }
  59062. return nil
  59063. }
  59064. // SetDryRun sets the DryRun field's value.
  59065. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  59066. s.DryRun = &v
  59067. return s
  59068. }
  59069. // SetInstanceIds sets the InstanceIds field's value.
  59070. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  59071. s.InstanceIds = v
  59072. return s
  59073. }
  59074. type MonitorInstancesOutput struct {
  59075. _ struct{} `type:"structure"`
  59076. // The monitoring information.
  59077. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  59078. }
  59079. // String returns the string representation
  59080. func (s MonitorInstancesOutput) String() string {
  59081. return awsutil.Prettify(s)
  59082. }
  59083. // GoString returns the string representation
  59084. func (s MonitorInstancesOutput) GoString() string {
  59085. return s.String()
  59086. }
  59087. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  59088. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  59089. s.InstanceMonitorings = v
  59090. return s
  59091. }
  59092. // Describes the monitoring of an instance.
  59093. type Monitoring struct {
  59094. _ struct{} `type:"structure"`
  59095. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  59096. // is enabled.
  59097. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  59098. }
  59099. // String returns the string representation
  59100. func (s Monitoring) String() string {
  59101. return awsutil.Prettify(s)
  59102. }
  59103. // GoString returns the string representation
  59104. func (s Monitoring) GoString() string {
  59105. return s.String()
  59106. }
  59107. // SetState sets the State field's value.
  59108. func (s *Monitoring) SetState(v string) *Monitoring {
  59109. s.State = &v
  59110. return s
  59111. }
  59112. type MoveAddressToVpcInput struct {
  59113. _ struct{} `type:"structure"`
  59114. // Checks whether you have the required permissions for the action, without
  59115. // actually making the request, and provides an error response. If you have
  59116. // the required permissions, the error response is DryRunOperation. Otherwise,
  59117. // it is UnauthorizedOperation.
  59118. DryRun *bool `locationName:"dryRun" type:"boolean"`
  59119. // The Elastic IP address.
  59120. //
  59121. // PublicIp is a required field
  59122. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  59123. }
  59124. // String returns the string representation
  59125. func (s MoveAddressToVpcInput) String() string {
  59126. return awsutil.Prettify(s)
  59127. }
  59128. // GoString returns the string representation
  59129. func (s MoveAddressToVpcInput) GoString() string {
  59130. return s.String()
  59131. }
  59132. // Validate inspects the fields of the type to determine if they are valid.
  59133. func (s *MoveAddressToVpcInput) Validate() error {
  59134. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  59135. if s.PublicIp == nil {
  59136. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  59137. }
  59138. if invalidParams.Len() > 0 {
  59139. return invalidParams
  59140. }
  59141. return nil
  59142. }
  59143. // SetDryRun sets the DryRun field's value.
  59144. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  59145. s.DryRun = &v
  59146. return s
  59147. }
  59148. // SetPublicIp sets the PublicIp field's value.
  59149. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  59150. s.PublicIp = &v
  59151. return s
  59152. }
  59153. type MoveAddressToVpcOutput struct {
  59154. _ struct{} `type:"structure"`
  59155. // The allocation ID for the Elastic IP address.
  59156. AllocationId *string `locationName:"allocationId" type:"string"`
  59157. // The status of the move of the IP address.
  59158. Status *string `locationName:"status" type:"string" enum:"Status"`
  59159. }
  59160. // String returns the string representation
  59161. func (s MoveAddressToVpcOutput) String() string {
  59162. return awsutil.Prettify(s)
  59163. }
  59164. // GoString returns the string representation
  59165. func (s MoveAddressToVpcOutput) GoString() string {
  59166. return s.String()
  59167. }
  59168. // SetAllocationId sets the AllocationId field's value.
  59169. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  59170. s.AllocationId = &v
  59171. return s
  59172. }
  59173. // SetStatus sets the Status field's value.
  59174. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  59175. s.Status = &v
  59176. return s
  59177. }
  59178. // Describes the status of a moving Elastic IP address.
  59179. type MovingAddressStatus struct {
  59180. _ struct{} `type:"structure"`
  59181. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  59182. // or restored to the EC2-Classic platform.
  59183. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  59184. // The Elastic IP address.
  59185. PublicIp *string `locationName:"publicIp" type:"string"`
  59186. }
  59187. // String returns the string representation
  59188. func (s MovingAddressStatus) String() string {
  59189. return awsutil.Prettify(s)
  59190. }
  59191. // GoString returns the string representation
  59192. func (s MovingAddressStatus) GoString() string {
  59193. return s.String()
  59194. }
  59195. // SetMoveStatus sets the MoveStatus field's value.
  59196. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  59197. s.MoveStatus = &v
  59198. return s
  59199. }
  59200. // SetPublicIp sets the PublicIp field's value.
  59201. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  59202. s.PublicIp = &v
  59203. return s
  59204. }
  59205. // Describes a NAT gateway.
  59206. type NatGateway struct {
  59207. _ struct{} `type:"structure"`
  59208. // The date and time the NAT gateway was created.
  59209. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  59210. // The date and time the NAT gateway was deleted, if applicable.
  59211. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
  59212. // If the NAT gateway could not be created, specifies the error code for the
  59213. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  59214. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  59215. FailureCode *string `locationName:"failureCode" type:"string"`
  59216. // If the NAT gateway could not be created, specifies the error message for
  59217. // the failure, that corresponds to the error code.
  59218. //
  59219. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  59220. // addresses to create this NAT gateway"
  59221. //
  59222. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  59223. // attached"
  59224. //
  59225. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  59226. // could not be associated with this NAT gateway"
  59227. //
  59228. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  59229. // is already associated"
  59230. //
  59231. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  59232. // internally by this NAT gateway is in an invalid state. Please try again."
  59233. //
  59234. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  59235. // does not exist or could not be found."
  59236. FailureMessage *string `locationName:"failureMessage" type:"string"`
  59237. // Information about the IP addresses and network interface associated with
  59238. // the NAT gateway.
  59239. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  59240. // The ID of the NAT gateway.
  59241. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  59242. // Reserved. If you need to sustain traffic greater than the documented limits
  59243. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  59244. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  59245. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  59246. // The state of the NAT gateway.
  59247. //
  59248. // * pending: The NAT gateway is being created and is not ready to process
  59249. // traffic.
  59250. //
  59251. // * failed: The NAT gateway could not be created. Check the failureCode
  59252. // and failureMessage fields for the reason.
  59253. //
  59254. // * available: The NAT gateway is able to process traffic. This status remains
  59255. // until you delete the NAT gateway, and does not indicate the health of
  59256. // the NAT gateway.
  59257. //
  59258. // * deleting: The NAT gateway is in the process of being terminated and
  59259. // may still be processing traffic.
  59260. //
  59261. // * deleted: The NAT gateway has been terminated and is no longer processing
  59262. // traffic.
  59263. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  59264. // The ID of the subnet in which the NAT gateway is located.
  59265. SubnetId *string `locationName:"subnetId" type:"string"`
  59266. // The tags for the NAT gateway.
  59267. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59268. // The ID of the VPC in which the NAT gateway is located.
  59269. VpcId *string `locationName:"vpcId" type:"string"`
  59270. }
  59271. // String returns the string representation
  59272. func (s NatGateway) String() string {
  59273. return awsutil.Prettify(s)
  59274. }
  59275. // GoString returns the string representation
  59276. func (s NatGateway) GoString() string {
  59277. return s.String()
  59278. }
  59279. // SetCreateTime sets the CreateTime field's value.
  59280. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  59281. s.CreateTime = &v
  59282. return s
  59283. }
  59284. // SetDeleteTime sets the DeleteTime field's value.
  59285. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  59286. s.DeleteTime = &v
  59287. return s
  59288. }
  59289. // SetFailureCode sets the FailureCode field's value.
  59290. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  59291. s.FailureCode = &v
  59292. return s
  59293. }
  59294. // SetFailureMessage sets the FailureMessage field's value.
  59295. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  59296. s.FailureMessage = &v
  59297. return s
  59298. }
  59299. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  59300. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  59301. s.NatGatewayAddresses = v
  59302. return s
  59303. }
  59304. // SetNatGatewayId sets the NatGatewayId field's value.
  59305. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  59306. s.NatGatewayId = &v
  59307. return s
  59308. }
  59309. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  59310. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  59311. s.ProvisionedBandwidth = v
  59312. return s
  59313. }
  59314. // SetState sets the State field's value.
  59315. func (s *NatGateway) SetState(v string) *NatGateway {
  59316. s.State = &v
  59317. return s
  59318. }
  59319. // SetSubnetId sets the SubnetId field's value.
  59320. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  59321. s.SubnetId = &v
  59322. return s
  59323. }
  59324. // SetTags sets the Tags field's value.
  59325. func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
  59326. s.Tags = v
  59327. return s
  59328. }
  59329. // SetVpcId sets the VpcId field's value.
  59330. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  59331. s.VpcId = &v
  59332. return s
  59333. }
  59334. // Describes the IP addresses and network interface associated with a NAT gateway.
  59335. type NatGatewayAddress struct {
  59336. _ struct{} `type:"structure"`
  59337. // The allocation ID of the Elastic IP address that's associated with the NAT
  59338. // gateway.
  59339. AllocationId *string `locationName:"allocationId" type:"string"`
  59340. // The ID of the network interface associated with the NAT gateway.
  59341. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  59342. // The private IP address associated with the Elastic IP address.
  59343. PrivateIp *string `locationName:"privateIp" type:"string"`
  59344. // The Elastic IP address associated with the NAT gateway.
  59345. PublicIp *string `locationName:"publicIp" type:"string"`
  59346. }
  59347. // String returns the string representation
  59348. func (s NatGatewayAddress) String() string {
  59349. return awsutil.Prettify(s)
  59350. }
  59351. // GoString returns the string representation
  59352. func (s NatGatewayAddress) GoString() string {
  59353. return s.String()
  59354. }
  59355. // SetAllocationId sets the AllocationId field's value.
  59356. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  59357. s.AllocationId = &v
  59358. return s
  59359. }
  59360. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  59361. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  59362. s.NetworkInterfaceId = &v
  59363. return s
  59364. }
  59365. // SetPrivateIp sets the PrivateIp field's value.
  59366. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  59367. s.PrivateIp = &v
  59368. return s
  59369. }
  59370. // SetPublicIp sets the PublicIp field's value.
  59371. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  59372. s.PublicIp = &v
  59373. return s
  59374. }
  59375. // Describes a network ACL.
  59376. type NetworkAcl struct {
  59377. _ struct{} `type:"structure"`
  59378. // Any associations between the network ACL and one or more subnets
  59379. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  59380. // One or more entries (rules) in the network ACL.
  59381. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  59382. // Indicates whether this is the default network ACL for the VPC.
  59383. IsDefault *bool `locationName:"default" type:"boolean"`
  59384. // The ID of the network ACL.
  59385. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  59386. // The ID of the AWS account that owns the network ACL.
  59387. OwnerId *string `locationName:"ownerId" type:"string"`
  59388. // Any tags assigned to the network ACL.
  59389. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59390. // The ID of the VPC for the network ACL.
  59391. VpcId *string `locationName:"vpcId" type:"string"`
  59392. }
  59393. // String returns the string representation
  59394. func (s NetworkAcl) String() string {
  59395. return awsutil.Prettify(s)
  59396. }
  59397. // GoString returns the string representation
  59398. func (s NetworkAcl) GoString() string {
  59399. return s.String()
  59400. }
  59401. // SetAssociations sets the Associations field's value.
  59402. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  59403. s.Associations = v
  59404. return s
  59405. }
  59406. // SetEntries sets the Entries field's value.
  59407. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  59408. s.Entries = v
  59409. return s
  59410. }
  59411. // SetIsDefault sets the IsDefault field's value.
  59412. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  59413. s.IsDefault = &v
  59414. return s
  59415. }
  59416. // SetNetworkAclId sets the NetworkAclId field's value.
  59417. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  59418. s.NetworkAclId = &v
  59419. return s
  59420. }
  59421. // SetOwnerId sets the OwnerId field's value.
  59422. func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
  59423. s.OwnerId = &v
  59424. return s
  59425. }
  59426. // SetTags sets the Tags field's value.
  59427. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  59428. s.Tags = v
  59429. return s
  59430. }
  59431. // SetVpcId sets the VpcId field's value.
  59432. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  59433. s.VpcId = &v
  59434. return s
  59435. }
  59436. // Describes an association between a network ACL and a subnet.
  59437. type NetworkAclAssociation struct {
  59438. _ struct{} `type:"structure"`
  59439. // The ID of the association between a network ACL and a subnet.
  59440. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  59441. // The ID of the network ACL.
  59442. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  59443. // The ID of the subnet.
  59444. SubnetId *string `locationName:"subnetId" type:"string"`
  59445. }
  59446. // String returns the string representation
  59447. func (s NetworkAclAssociation) String() string {
  59448. return awsutil.Prettify(s)
  59449. }
  59450. // GoString returns the string representation
  59451. func (s NetworkAclAssociation) GoString() string {
  59452. return s.String()
  59453. }
  59454. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  59455. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  59456. s.NetworkAclAssociationId = &v
  59457. return s
  59458. }
  59459. // SetNetworkAclId sets the NetworkAclId field's value.
  59460. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  59461. s.NetworkAclId = &v
  59462. return s
  59463. }
  59464. // SetSubnetId sets the SubnetId field's value.
  59465. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  59466. s.SubnetId = &v
  59467. return s
  59468. }
  59469. // Describes an entry in a network ACL.
  59470. type NetworkAclEntry struct {
  59471. _ struct{} `type:"structure"`
  59472. // The IPv4 network range to allow or deny, in CIDR notation.
  59473. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  59474. // Indicates whether the rule is an egress rule (applied to traffic leaving
  59475. // the subnet).
  59476. Egress *bool `locationName:"egress" type:"boolean"`
  59477. // ICMP protocol: The ICMP type and code.
  59478. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  59479. // The IPv6 network range to allow or deny, in CIDR notation.
  59480. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  59481. // TCP or UDP protocols: The range of ports the rule applies to.
  59482. PortRange *PortRange `locationName:"portRange" type:"structure"`
  59483. // The protocol number. A value of "-1" means all protocols.
  59484. Protocol *string `locationName:"protocol" type:"string"`
  59485. // Indicates whether to allow or deny the traffic that matches the rule.
  59486. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  59487. // The rule number for the entry. ACL entries are processed in ascending order
  59488. // by rule number.
  59489. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  59490. }
  59491. // String returns the string representation
  59492. func (s NetworkAclEntry) String() string {
  59493. return awsutil.Prettify(s)
  59494. }
  59495. // GoString returns the string representation
  59496. func (s NetworkAclEntry) GoString() string {
  59497. return s.String()
  59498. }
  59499. // SetCidrBlock sets the CidrBlock field's value.
  59500. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  59501. s.CidrBlock = &v
  59502. return s
  59503. }
  59504. // SetEgress sets the Egress field's value.
  59505. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  59506. s.Egress = &v
  59507. return s
  59508. }
  59509. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  59510. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  59511. s.IcmpTypeCode = v
  59512. return s
  59513. }
  59514. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  59515. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  59516. s.Ipv6CidrBlock = &v
  59517. return s
  59518. }
  59519. // SetPortRange sets the PortRange field's value.
  59520. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  59521. s.PortRange = v
  59522. return s
  59523. }
  59524. // SetProtocol sets the Protocol field's value.
  59525. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  59526. s.Protocol = &v
  59527. return s
  59528. }
  59529. // SetRuleAction sets the RuleAction field's value.
  59530. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  59531. s.RuleAction = &v
  59532. return s
  59533. }
  59534. // SetRuleNumber sets the RuleNumber field's value.
  59535. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  59536. s.RuleNumber = &v
  59537. return s
  59538. }
  59539. // Describes a network interface.
  59540. type NetworkInterface struct {
  59541. _ struct{} `type:"structure"`
  59542. // The association information for an Elastic IP address (IPv4) associated with
  59543. // the network interface.
  59544. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  59545. // The network interface attachment.
  59546. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  59547. // The Availability Zone.
  59548. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  59549. // A description.
  59550. Description *string `locationName:"description" type:"string"`
  59551. // Any security groups for the network interface.
  59552. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  59553. // The type of interface.
  59554. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  59555. // The IPv6 addresses associated with the network interface.
  59556. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  59557. // The MAC address.
  59558. MacAddress *string `locationName:"macAddress" type:"string"`
  59559. // The ID of the network interface.
  59560. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  59561. // The AWS account ID of the owner of the network interface.
  59562. OwnerId *string `locationName:"ownerId" type:"string"`
  59563. // The private DNS name.
  59564. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  59565. // The IPv4 address of the network interface within the subnet.
  59566. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  59567. // The private IPv4 addresses associated with the network interface.
  59568. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  59569. // The ID of the entity that launched the instance on your behalf (for example,
  59570. // AWS Management Console or Auto Scaling).
  59571. RequesterId *string `locationName:"requesterId" type:"string"`
  59572. // Indicates whether the network interface is being managed by AWS.
  59573. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  59574. // Indicates whether traffic to or from the instance is validated.
  59575. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  59576. // The status of the network interface.
  59577. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  59578. // The ID of the subnet.
  59579. SubnetId *string `locationName:"subnetId" type:"string"`
  59580. // Any tags assigned to the network interface.
  59581. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  59582. // The ID of the VPC.
  59583. VpcId *string `locationName:"vpcId" type:"string"`
  59584. }
  59585. // String returns the string representation
  59586. func (s NetworkInterface) String() string {
  59587. return awsutil.Prettify(s)
  59588. }
  59589. // GoString returns the string representation
  59590. func (s NetworkInterface) GoString() string {
  59591. return s.String()
  59592. }
  59593. // SetAssociation sets the Association field's value.
  59594. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  59595. s.Association = v
  59596. return s
  59597. }
  59598. // SetAttachment sets the Attachment field's value.
  59599. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  59600. s.Attachment = v
  59601. return s
  59602. }
  59603. // SetAvailabilityZone sets the AvailabilityZone field's value.
  59604. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  59605. s.AvailabilityZone = &v
  59606. return s
  59607. }
  59608. // SetDescription sets the Description field's value.
  59609. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  59610. s.Description = &v
  59611. return s
  59612. }
  59613. // SetGroups sets the Groups field's value.
  59614. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  59615. s.Groups = v
  59616. return s
  59617. }
  59618. // SetInterfaceType sets the InterfaceType field's value.
  59619. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  59620. s.InterfaceType = &v
  59621. return s
  59622. }
  59623. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  59624. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  59625. s.Ipv6Addresses = v
  59626. return s
  59627. }
  59628. // SetMacAddress sets the MacAddress field's value.
  59629. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  59630. s.MacAddress = &v
  59631. return s
  59632. }
  59633. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  59634. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  59635. s.NetworkInterfaceId = &v
  59636. return s
  59637. }
  59638. // SetOwnerId sets the OwnerId field's value.
  59639. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  59640. s.OwnerId = &v
  59641. return s
  59642. }
  59643. // SetPrivateDnsName sets the PrivateDnsName field's value.
  59644. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  59645. s.PrivateDnsName = &v
  59646. return s
  59647. }
  59648. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  59649. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  59650. s.PrivateIpAddress = &v
  59651. return s
  59652. }
  59653. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  59654. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  59655. s.PrivateIpAddresses = v
  59656. return s
  59657. }
  59658. // SetRequesterId sets the RequesterId field's value.
  59659. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  59660. s.RequesterId = &v
  59661. return s
  59662. }
  59663. // SetRequesterManaged sets the RequesterManaged field's value.
  59664. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  59665. s.RequesterManaged = &v
  59666. return s
  59667. }
  59668. // SetSourceDestCheck sets the SourceDestCheck field's value.
  59669. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  59670. s.SourceDestCheck = &v
  59671. return s
  59672. }
  59673. // SetStatus sets the Status field's value.
  59674. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  59675. s.Status = &v
  59676. return s
  59677. }
  59678. // SetSubnetId sets the SubnetId field's value.
  59679. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  59680. s.SubnetId = &v
  59681. return s
  59682. }
  59683. // SetTagSet sets the TagSet field's value.
  59684. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  59685. s.TagSet = v
  59686. return s
  59687. }
  59688. // SetVpcId sets the VpcId field's value.
  59689. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  59690. s.VpcId = &v
  59691. return s
  59692. }
  59693. // Describes association information for an Elastic IP address (IPv4 only).
  59694. type NetworkInterfaceAssociation struct {
  59695. _ struct{} `type:"structure"`
  59696. // The allocation ID.
  59697. AllocationId *string `locationName:"allocationId" type:"string"`
  59698. // The association ID.
  59699. AssociationId *string `locationName:"associationId" type:"string"`
  59700. // The ID of the Elastic IP address owner.
  59701. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  59702. // The public DNS name.
  59703. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  59704. // The address of the Elastic IP address bound to the network interface.
  59705. PublicIp *string `locationName:"publicIp" type:"string"`
  59706. }
  59707. // String returns the string representation
  59708. func (s NetworkInterfaceAssociation) String() string {
  59709. return awsutil.Prettify(s)
  59710. }
  59711. // GoString returns the string representation
  59712. func (s NetworkInterfaceAssociation) GoString() string {
  59713. return s.String()
  59714. }
  59715. // SetAllocationId sets the AllocationId field's value.
  59716. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  59717. s.AllocationId = &v
  59718. return s
  59719. }
  59720. // SetAssociationId sets the AssociationId field's value.
  59721. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  59722. s.AssociationId = &v
  59723. return s
  59724. }
  59725. // SetIpOwnerId sets the IpOwnerId field's value.
  59726. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  59727. s.IpOwnerId = &v
  59728. return s
  59729. }
  59730. // SetPublicDnsName sets the PublicDnsName field's value.
  59731. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  59732. s.PublicDnsName = &v
  59733. return s
  59734. }
  59735. // SetPublicIp sets the PublicIp field's value.
  59736. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  59737. s.PublicIp = &v
  59738. return s
  59739. }
  59740. // Describes a network interface attachment.
  59741. type NetworkInterfaceAttachment struct {
  59742. _ struct{} `type:"structure"`
  59743. // The timestamp indicating when the attachment initiated.
  59744. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  59745. // The ID of the network interface attachment.
  59746. AttachmentId *string `locationName:"attachmentId" type:"string"`
  59747. // Indicates whether the network interface is deleted when the instance is terminated.
  59748. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  59749. // The device index of the network interface attachment on the instance.
  59750. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  59751. // The ID of the instance.
  59752. InstanceId *string `locationName:"instanceId" type:"string"`
  59753. // The AWS account ID of the owner of the instance.
  59754. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  59755. // The attachment state.
  59756. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  59757. }
  59758. // String returns the string representation
  59759. func (s NetworkInterfaceAttachment) String() string {
  59760. return awsutil.Prettify(s)
  59761. }
  59762. // GoString returns the string representation
  59763. func (s NetworkInterfaceAttachment) GoString() string {
  59764. return s.String()
  59765. }
  59766. // SetAttachTime sets the AttachTime field's value.
  59767. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  59768. s.AttachTime = &v
  59769. return s
  59770. }
  59771. // SetAttachmentId sets the AttachmentId field's value.
  59772. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  59773. s.AttachmentId = &v
  59774. return s
  59775. }
  59776. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  59777. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  59778. s.DeleteOnTermination = &v
  59779. return s
  59780. }
  59781. // SetDeviceIndex sets the DeviceIndex field's value.
  59782. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  59783. s.DeviceIndex = &v
  59784. return s
  59785. }
  59786. // SetInstanceId sets the InstanceId field's value.
  59787. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  59788. s.InstanceId = &v
  59789. return s
  59790. }
  59791. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  59792. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  59793. s.InstanceOwnerId = &v
  59794. return s
  59795. }
  59796. // SetStatus sets the Status field's value.
  59797. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  59798. s.Status = &v
  59799. return s
  59800. }
  59801. // Describes an attachment change.
  59802. type NetworkInterfaceAttachmentChanges struct {
  59803. _ struct{} `type:"structure"`
  59804. // The ID of the network interface attachment.
  59805. AttachmentId *string `locationName:"attachmentId" type:"string"`
  59806. // Indicates whether the network interface is deleted when the instance is terminated.
  59807. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  59808. }
  59809. // String returns the string representation
  59810. func (s NetworkInterfaceAttachmentChanges) String() string {
  59811. return awsutil.Prettify(s)
  59812. }
  59813. // GoString returns the string representation
  59814. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  59815. return s.String()
  59816. }
  59817. // SetAttachmentId sets the AttachmentId field's value.
  59818. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  59819. s.AttachmentId = &v
  59820. return s
  59821. }
  59822. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  59823. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  59824. s.DeleteOnTermination = &v
  59825. return s
  59826. }
  59827. // Describes an IPv6 address associated with a network interface.
  59828. type NetworkInterfaceIpv6Address struct {
  59829. _ struct{} `type:"structure"`
  59830. // The IPv6 address.
  59831. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  59832. }
  59833. // String returns the string representation
  59834. func (s NetworkInterfaceIpv6Address) String() string {
  59835. return awsutil.Prettify(s)
  59836. }
  59837. // GoString returns the string representation
  59838. func (s NetworkInterfaceIpv6Address) GoString() string {
  59839. return s.String()
  59840. }
  59841. // SetIpv6Address sets the Ipv6Address field's value.
  59842. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  59843. s.Ipv6Address = &v
  59844. return s
  59845. }
  59846. // Describes a permission for a network interface.
  59847. type NetworkInterfacePermission struct {
  59848. _ struct{} `type:"structure"`
  59849. // The AWS account ID.
  59850. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  59851. // The AWS service.
  59852. AwsService *string `locationName:"awsService" type:"string"`
  59853. // The ID of the network interface.
  59854. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  59855. // The ID of the network interface permission.
  59856. NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
  59857. // The type of permission.
  59858. Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
  59859. // Information about the state of the permission.
  59860. PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
  59861. }
  59862. // String returns the string representation
  59863. func (s NetworkInterfacePermission) String() string {
  59864. return awsutil.Prettify(s)
  59865. }
  59866. // GoString returns the string representation
  59867. func (s NetworkInterfacePermission) GoString() string {
  59868. return s.String()
  59869. }
  59870. // SetAwsAccountId sets the AwsAccountId field's value.
  59871. func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
  59872. s.AwsAccountId = &v
  59873. return s
  59874. }
  59875. // SetAwsService sets the AwsService field's value.
  59876. func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
  59877. s.AwsService = &v
  59878. return s
  59879. }
  59880. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  59881. func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
  59882. s.NetworkInterfaceId = &v
  59883. return s
  59884. }
  59885. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  59886. func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
  59887. s.NetworkInterfacePermissionId = &v
  59888. return s
  59889. }
  59890. // SetPermission sets the Permission field's value.
  59891. func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
  59892. s.Permission = &v
  59893. return s
  59894. }
  59895. // SetPermissionState sets the PermissionState field's value.
  59896. func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
  59897. s.PermissionState = v
  59898. return s
  59899. }
  59900. // Describes the state of a network interface permission.
  59901. type NetworkInterfacePermissionState struct {
  59902. _ struct{} `type:"structure"`
  59903. // The state of the permission.
  59904. State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
  59905. // A status message, if applicable.
  59906. StatusMessage *string `locationName:"statusMessage" type:"string"`
  59907. }
  59908. // String returns the string representation
  59909. func (s NetworkInterfacePermissionState) String() string {
  59910. return awsutil.Prettify(s)
  59911. }
  59912. // GoString returns the string representation
  59913. func (s NetworkInterfacePermissionState) GoString() string {
  59914. return s.String()
  59915. }
  59916. // SetState sets the State field's value.
  59917. func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
  59918. s.State = &v
  59919. return s
  59920. }
  59921. // SetStatusMessage sets the StatusMessage field's value.
  59922. func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
  59923. s.StatusMessage = &v
  59924. return s
  59925. }
  59926. // Describes the private IPv4 address of a network interface.
  59927. type NetworkInterfacePrivateIpAddress struct {
  59928. _ struct{} `type:"structure"`
  59929. // The association information for an Elastic IP address (IPv4) associated with
  59930. // the network interface.
  59931. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  59932. // Indicates whether this IPv4 address is the primary private IPv4 address of
  59933. // the network interface.
  59934. Primary *bool `locationName:"primary" type:"boolean"`
  59935. // The private DNS name.
  59936. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  59937. // The private IPv4 address.
  59938. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  59939. }
  59940. // String returns the string representation
  59941. func (s NetworkInterfacePrivateIpAddress) String() string {
  59942. return awsutil.Prettify(s)
  59943. }
  59944. // GoString returns the string representation
  59945. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  59946. return s.String()
  59947. }
  59948. // SetAssociation sets the Association field's value.
  59949. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  59950. s.Association = v
  59951. return s
  59952. }
  59953. // SetPrimary sets the Primary field's value.
  59954. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  59955. s.Primary = &v
  59956. return s
  59957. }
  59958. // SetPrivateDnsName sets the PrivateDnsName field's value.
  59959. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  59960. s.PrivateDnsName = &v
  59961. return s
  59962. }
  59963. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  59964. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  59965. s.PrivateIpAddress = &v
  59966. return s
  59967. }
  59968. type NewDhcpConfiguration struct {
  59969. _ struct{} `type:"structure"`
  59970. Key *string `locationName:"key" type:"string"`
  59971. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  59972. }
  59973. // String returns the string representation
  59974. func (s NewDhcpConfiguration) String() string {
  59975. return awsutil.Prettify(s)
  59976. }
  59977. // GoString returns the string representation
  59978. func (s NewDhcpConfiguration) GoString() string {
  59979. return s.String()
  59980. }
  59981. // SetKey sets the Key field's value.
  59982. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  59983. s.Key = &v
  59984. return s
  59985. }
  59986. // SetValues sets the Values field's value.
  59987. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  59988. s.Values = v
  59989. return s
  59990. }
  59991. // The allocation strategy of On-Demand Instances in an EC2 Fleet.
  59992. type OnDemandOptions struct {
  59993. _ struct{} `type:"structure"`
  59994. // The order of the launch template overrides to use in fulfilling On-Demand
  59995. // capacity. If you specify lowest-price, EC2 Fleet uses price to determine
  59996. // the order, launching the lowest price first. If you specify prioritized,
  59997. // EC2 Fleet uses the priority that you assigned to each launch template override,
  59998. // launching the highest priority first. If you do not specify a value, EC2
  59999. // Fleet defaults to lowest-price.
  60000. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
  60001. // The minimum target capacity for On-Demand Instances in the fleet. If the
  60002. // minimum target capacity is not reached, the fleet launches no instances.
  60003. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
  60004. // Indicates that the fleet launches all On-Demand Instances into a single Availability
  60005. // Zone.
  60006. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
  60007. // Indicates that the fleet uses a single instance type to launch all On-Demand
  60008. // Instances in the fleet.
  60009. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
  60010. }
  60011. // String returns the string representation
  60012. func (s OnDemandOptions) String() string {
  60013. return awsutil.Prettify(s)
  60014. }
  60015. // GoString returns the string representation
  60016. func (s OnDemandOptions) GoString() string {
  60017. return s.String()
  60018. }
  60019. // SetAllocationStrategy sets the AllocationStrategy field's value.
  60020. func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
  60021. s.AllocationStrategy = &v
  60022. return s
  60023. }
  60024. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  60025. func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
  60026. s.MinTargetCapacity = &v
  60027. return s
  60028. }
  60029. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  60030. func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
  60031. s.SingleAvailabilityZone = &v
  60032. return s
  60033. }
  60034. // SetSingleInstanceType sets the SingleInstanceType field's value.
  60035. func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
  60036. s.SingleInstanceType = &v
  60037. return s
  60038. }
  60039. // The allocation strategy of On-Demand Instances in an EC2 Fleet.
  60040. type OnDemandOptionsRequest struct {
  60041. _ struct{} `type:"structure"`
  60042. // The order of the launch template overrides to use in fulfilling On-Demand
  60043. // capacity. If you specify lowest-price, EC2 Fleet uses price to determine
  60044. // the order, launching the lowest price first. If you specify prioritized,
  60045. // EC2 Fleet uses the priority that you assigned to each launch template override,
  60046. // launching the highest priority first. If you do not specify a value, EC2
  60047. // Fleet defaults to lowest-price.
  60048. AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
  60049. // The minimum target capacity for On-Demand Instances in the fleet. If the
  60050. // minimum target capacity is not reached, the fleet launches no instances.
  60051. MinTargetCapacity *int64 `type:"integer"`
  60052. // Indicates that the fleet launches all On-Demand Instances into a single Availability
  60053. // Zone.
  60054. SingleAvailabilityZone *bool `type:"boolean"`
  60055. // Indicates that the fleet uses a single instance type to launch all On-Demand
  60056. // Instances in the fleet.
  60057. SingleInstanceType *bool `type:"boolean"`
  60058. }
  60059. // String returns the string representation
  60060. func (s OnDemandOptionsRequest) String() string {
  60061. return awsutil.Prettify(s)
  60062. }
  60063. // GoString returns the string representation
  60064. func (s OnDemandOptionsRequest) GoString() string {
  60065. return s.String()
  60066. }
  60067. // SetAllocationStrategy sets the AllocationStrategy field's value.
  60068. func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
  60069. s.AllocationStrategy = &v
  60070. return s
  60071. }
  60072. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  60073. func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
  60074. s.MinTargetCapacity = &v
  60075. return s
  60076. }
  60077. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  60078. func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
  60079. s.SingleAvailabilityZone = &v
  60080. return s
  60081. }
  60082. // SetSingleInstanceType sets the SingleInstanceType field's value.
  60083. func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
  60084. s.SingleInstanceType = &v
  60085. return s
  60086. }
  60087. // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
  60088. // bus.
  60089. type PciId struct {
  60090. _ struct{} `type:"structure"`
  60091. // The ID of the device.
  60092. DeviceId *string `type:"string"`
  60093. // The ID of the subsystem.
  60094. SubsystemId *string `type:"string"`
  60095. // The ID of the vendor for the subsystem.
  60096. SubsystemVendorId *string `type:"string"`
  60097. // The ID of the vendor.
  60098. VendorId *string `type:"string"`
  60099. }
  60100. // String returns the string representation
  60101. func (s PciId) String() string {
  60102. return awsutil.Prettify(s)
  60103. }
  60104. // GoString returns the string representation
  60105. func (s PciId) GoString() string {
  60106. return s.String()
  60107. }
  60108. // SetDeviceId sets the DeviceId field's value.
  60109. func (s *PciId) SetDeviceId(v string) *PciId {
  60110. s.DeviceId = &v
  60111. return s
  60112. }
  60113. // SetSubsystemId sets the SubsystemId field's value.
  60114. func (s *PciId) SetSubsystemId(v string) *PciId {
  60115. s.SubsystemId = &v
  60116. return s
  60117. }
  60118. // SetSubsystemVendorId sets the SubsystemVendorId field's value.
  60119. func (s *PciId) SetSubsystemVendorId(v string) *PciId {
  60120. s.SubsystemVendorId = &v
  60121. return s
  60122. }
  60123. // SetVendorId sets the VendorId field's value.
  60124. func (s *PciId) SetVendorId(v string) *PciId {
  60125. s.VendorId = &v
  60126. return s
  60127. }
  60128. // Describes the VPC peering connection options.
  60129. type PeeringConnectionOptions struct {
  60130. _ struct{} `type:"structure"`
  60131. // If true, the public DNS hostnames of instances in the specified VPC resolve
  60132. // to private IP addresses when queried from instances in the peer VPC.
  60133. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  60134. // If true, enables outbound communication from an EC2-Classic instance that's
  60135. // linked to a local VPC using ClassicLink to instances in a peer VPC.
  60136. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  60137. // If true, enables outbound communication from instances in a local VPC to
  60138. // an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
  60139. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  60140. }
  60141. // String returns the string representation
  60142. func (s PeeringConnectionOptions) String() string {
  60143. return awsutil.Prettify(s)
  60144. }
  60145. // GoString returns the string representation
  60146. func (s PeeringConnectionOptions) GoString() string {
  60147. return s.String()
  60148. }
  60149. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  60150. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  60151. s.AllowDnsResolutionFromRemoteVpc = &v
  60152. return s
  60153. }
  60154. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  60155. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  60156. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  60157. return s
  60158. }
  60159. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  60160. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  60161. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  60162. return s
  60163. }
  60164. // The VPC peering connection options.
  60165. type PeeringConnectionOptionsRequest struct {
  60166. _ struct{} `type:"structure"`
  60167. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  60168. // addresses when queried from instances in the peer VPC.
  60169. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  60170. // If true, enables outbound communication from an EC2-Classic instance that's
  60171. // linked to a local VPC using ClassicLink to instances in a peer VPC.
  60172. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  60173. // If true, enables outbound communication from instances in a local VPC to
  60174. // an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
  60175. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  60176. }
  60177. // String returns the string representation
  60178. func (s PeeringConnectionOptionsRequest) String() string {
  60179. return awsutil.Prettify(s)
  60180. }
  60181. // GoString returns the string representation
  60182. func (s PeeringConnectionOptionsRequest) GoString() string {
  60183. return s.String()
  60184. }
  60185. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  60186. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  60187. s.AllowDnsResolutionFromRemoteVpc = &v
  60188. return s
  60189. }
  60190. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  60191. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  60192. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  60193. return s
  60194. }
  60195. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  60196. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  60197. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  60198. return s
  60199. }
  60200. // Describes the placement of an instance.
  60201. type Placement struct {
  60202. _ struct{} `type:"structure"`
  60203. // The affinity setting for the instance on the Dedicated Host. This parameter
  60204. // is not supported for the ImportInstance command.
  60205. Affinity *string `locationName:"affinity" type:"string"`
  60206. // The Availability Zone of the instance.
  60207. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  60208. // The name of the placement group the instance is in.
  60209. GroupName *string `locationName:"groupName" type:"string"`
  60210. // The ID of the Dedicated Host on which the instance resides. This parameter
  60211. // is not supported for the ImportInstance command.
  60212. HostId *string `locationName:"hostId" type:"string"`
  60213. // The number of the partition the instance is in. Valid only if the placement
  60214. // group strategy is set to partition.
  60215. PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
  60216. // Reserved for future use.
  60217. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  60218. // The tenancy of the instance (if the instance is running in a VPC). An instance
  60219. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  60220. // is not supported for the ImportInstance command.
  60221. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  60222. }
  60223. // String returns the string representation
  60224. func (s Placement) String() string {
  60225. return awsutil.Prettify(s)
  60226. }
  60227. // GoString returns the string representation
  60228. func (s Placement) GoString() string {
  60229. return s.String()
  60230. }
  60231. // SetAffinity sets the Affinity field's value.
  60232. func (s *Placement) SetAffinity(v string) *Placement {
  60233. s.Affinity = &v
  60234. return s
  60235. }
  60236. // SetAvailabilityZone sets the AvailabilityZone field's value.
  60237. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  60238. s.AvailabilityZone = &v
  60239. return s
  60240. }
  60241. // SetGroupName sets the GroupName field's value.
  60242. func (s *Placement) SetGroupName(v string) *Placement {
  60243. s.GroupName = &v
  60244. return s
  60245. }
  60246. // SetHostId sets the HostId field's value.
  60247. func (s *Placement) SetHostId(v string) *Placement {
  60248. s.HostId = &v
  60249. return s
  60250. }
  60251. // SetPartitionNumber sets the PartitionNumber field's value.
  60252. func (s *Placement) SetPartitionNumber(v int64) *Placement {
  60253. s.PartitionNumber = &v
  60254. return s
  60255. }
  60256. // SetSpreadDomain sets the SpreadDomain field's value.
  60257. func (s *Placement) SetSpreadDomain(v string) *Placement {
  60258. s.SpreadDomain = &v
  60259. return s
  60260. }
  60261. // SetTenancy sets the Tenancy field's value.
  60262. func (s *Placement) SetTenancy(v string) *Placement {
  60263. s.Tenancy = &v
  60264. return s
  60265. }
  60266. // Describes a placement group.
  60267. type PlacementGroup struct {
  60268. _ struct{} `type:"structure"`
  60269. // The name of the placement group.
  60270. GroupName *string `locationName:"groupName" type:"string"`
  60271. // The number of partitions. Valid only if strategy is set to partition.
  60272. PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
  60273. // The state of the placement group.
  60274. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  60275. // The placement strategy.
  60276. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  60277. }
  60278. // String returns the string representation
  60279. func (s PlacementGroup) String() string {
  60280. return awsutil.Prettify(s)
  60281. }
  60282. // GoString returns the string representation
  60283. func (s PlacementGroup) GoString() string {
  60284. return s.String()
  60285. }
  60286. // SetGroupName sets the GroupName field's value.
  60287. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  60288. s.GroupName = &v
  60289. return s
  60290. }
  60291. // SetPartitionCount sets the PartitionCount field's value.
  60292. func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
  60293. s.PartitionCount = &v
  60294. return s
  60295. }
  60296. // SetState sets the State field's value.
  60297. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  60298. s.State = &v
  60299. return s
  60300. }
  60301. // SetStrategy sets the Strategy field's value.
  60302. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  60303. s.Strategy = &v
  60304. return s
  60305. }
  60306. // Describes the placement of an instance.
  60307. type PlacementResponse struct {
  60308. _ struct{} `type:"structure"`
  60309. // The name of the placement group the instance is in.
  60310. GroupName *string `locationName:"groupName" type:"string"`
  60311. }
  60312. // String returns the string representation
  60313. func (s PlacementResponse) String() string {
  60314. return awsutil.Prettify(s)
  60315. }
  60316. // GoString returns the string representation
  60317. func (s PlacementResponse) GoString() string {
  60318. return s.String()
  60319. }
  60320. // SetGroupName sets the GroupName field's value.
  60321. func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
  60322. s.GroupName = &v
  60323. return s
  60324. }
  60325. // Describes a range of ports.
  60326. type PortRange struct {
  60327. _ struct{} `type:"structure"`
  60328. // The first port in the range.
  60329. From *int64 `locationName:"from" type:"integer"`
  60330. // The last port in the range.
  60331. To *int64 `locationName:"to" type:"integer"`
  60332. }
  60333. // String returns the string representation
  60334. func (s PortRange) String() string {
  60335. return awsutil.Prettify(s)
  60336. }
  60337. // GoString returns the string representation
  60338. func (s PortRange) GoString() string {
  60339. return s.String()
  60340. }
  60341. // SetFrom sets the From field's value.
  60342. func (s *PortRange) SetFrom(v int64) *PortRange {
  60343. s.From = &v
  60344. return s
  60345. }
  60346. // SetTo sets the To field's value.
  60347. func (s *PortRange) SetTo(v int64) *PortRange {
  60348. s.To = &v
  60349. return s
  60350. }
  60351. // Describes prefixes for AWS services.
  60352. type PrefixList struct {
  60353. _ struct{} `type:"structure"`
  60354. // The IP address range of the AWS service.
  60355. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  60356. // The ID of the prefix.
  60357. PrefixListId *string `locationName:"prefixListId" type:"string"`
  60358. // The name of the prefix.
  60359. PrefixListName *string `locationName:"prefixListName" type:"string"`
  60360. }
  60361. // String returns the string representation
  60362. func (s PrefixList) String() string {
  60363. return awsutil.Prettify(s)
  60364. }
  60365. // GoString returns the string representation
  60366. func (s PrefixList) GoString() string {
  60367. return s.String()
  60368. }
  60369. // SetCidrs sets the Cidrs field's value.
  60370. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  60371. s.Cidrs = v
  60372. return s
  60373. }
  60374. // SetPrefixListId sets the PrefixListId field's value.
  60375. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  60376. s.PrefixListId = &v
  60377. return s
  60378. }
  60379. // SetPrefixListName sets the PrefixListName field's value.
  60380. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  60381. s.PrefixListName = &v
  60382. return s
  60383. }
  60384. // Describes a prefix list ID.
  60385. type PrefixListId struct {
  60386. _ struct{} `type:"structure"`
  60387. // A description for the security group rule that references this prefix list
  60388. // ID.
  60389. //
  60390. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  60391. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  60392. Description *string `locationName:"description" type:"string"`
  60393. // The ID of the prefix.
  60394. PrefixListId *string `locationName:"prefixListId" type:"string"`
  60395. }
  60396. // String returns the string representation
  60397. func (s PrefixListId) String() string {
  60398. return awsutil.Prettify(s)
  60399. }
  60400. // GoString returns the string representation
  60401. func (s PrefixListId) GoString() string {
  60402. return s.String()
  60403. }
  60404. // SetDescription sets the Description field's value.
  60405. func (s *PrefixListId) SetDescription(v string) *PrefixListId {
  60406. s.Description = &v
  60407. return s
  60408. }
  60409. // SetPrefixListId sets the PrefixListId field's value.
  60410. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  60411. s.PrefixListId = &v
  60412. return s
  60413. }
  60414. // Describes the price for a Reserved Instance.
  60415. type PriceSchedule struct {
  60416. _ struct{} `type:"structure"`
  60417. // The current price schedule, as determined by the term remaining for the Reserved
  60418. // Instance in the listing.
  60419. //
  60420. // A specific price schedule is always in effect, but only one price schedule
  60421. // can be active at any time. Take, for example, a Reserved Instance listing
  60422. // that has five months remaining in its term. When you specify price schedules
  60423. // for five months and two months, this means that schedule 1, covering the
  60424. // first three months of the remaining term, will be active during months 5,
  60425. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  60426. // be active for months 2 and 1.
  60427. Active *bool `locationName:"active" type:"boolean"`
  60428. // The currency for transacting the Reserved Instance resale. At this time,
  60429. // the only supported currency is USD.
  60430. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  60431. // The fixed price for the term.
  60432. Price *float64 `locationName:"price" type:"double"`
  60433. // The number of months remaining in the reservation. For example, 2 is the
  60434. // second to the last month before the capacity reservation expires.
  60435. Term *int64 `locationName:"term" type:"long"`
  60436. }
  60437. // String returns the string representation
  60438. func (s PriceSchedule) String() string {
  60439. return awsutil.Prettify(s)
  60440. }
  60441. // GoString returns the string representation
  60442. func (s PriceSchedule) GoString() string {
  60443. return s.String()
  60444. }
  60445. // SetActive sets the Active field's value.
  60446. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  60447. s.Active = &v
  60448. return s
  60449. }
  60450. // SetCurrencyCode sets the CurrencyCode field's value.
  60451. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  60452. s.CurrencyCode = &v
  60453. return s
  60454. }
  60455. // SetPrice sets the Price field's value.
  60456. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  60457. s.Price = &v
  60458. return s
  60459. }
  60460. // SetTerm sets the Term field's value.
  60461. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  60462. s.Term = &v
  60463. return s
  60464. }
  60465. // Describes the price for a Reserved Instance.
  60466. type PriceScheduleSpecification struct {
  60467. _ struct{} `type:"structure"`
  60468. // The currency for transacting the Reserved Instance resale. At this time,
  60469. // the only supported currency is USD.
  60470. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  60471. // The fixed price for the term.
  60472. Price *float64 `locationName:"price" type:"double"`
  60473. // The number of months remaining in the reservation. For example, 2 is the
  60474. // second to the last month before the capacity reservation expires.
  60475. Term *int64 `locationName:"term" type:"long"`
  60476. }
  60477. // String returns the string representation
  60478. func (s PriceScheduleSpecification) String() string {
  60479. return awsutil.Prettify(s)
  60480. }
  60481. // GoString returns the string representation
  60482. func (s PriceScheduleSpecification) GoString() string {
  60483. return s.String()
  60484. }
  60485. // SetCurrencyCode sets the CurrencyCode field's value.
  60486. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  60487. s.CurrencyCode = &v
  60488. return s
  60489. }
  60490. // SetPrice sets the Price field's value.
  60491. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  60492. s.Price = &v
  60493. return s
  60494. }
  60495. // SetTerm sets the Term field's value.
  60496. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  60497. s.Term = &v
  60498. return s
  60499. }
  60500. // Describes a Reserved Instance offering.
  60501. type PricingDetail struct {
  60502. _ struct{} `type:"structure"`
  60503. // The number of reservations available for the price.
  60504. Count *int64 `locationName:"count" type:"integer"`
  60505. // The price per instance.
  60506. Price *float64 `locationName:"price" type:"double"`
  60507. }
  60508. // String returns the string representation
  60509. func (s PricingDetail) String() string {
  60510. return awsutil.Prettify(s)
  60511. }
  60512. // GoString returns the string representation
  60513. func (s PricingDetail) GoString() string {
  60514. return s.String()
  60515. }
  60516. // SetCount sets the Count field's value.
  60517. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  60518. s.Count = &v
  60519. return s
  60520. }
  60521. // SetPrice sets the Price field's value.
  60522. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  60523. s.Price = &v
  60524. return s
  60525. }
  60526. // PrincipalIdFormat description
  60527. type PrincipalIdFormat struct {
  60528. _ struct{} `type:"structure"`
  60529. // PrincipalIdFormatARN description
  60530. Arn *string `locationName:"arn" type:"string"`
  60531. // PrincipalIdFormatStatuses description
  60532. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  60533. }
  60534. // String returns the string representation
  60535. func (s PrincipalIdFormat) String() string {
  60536. return awsutil.Prettify(s)
  60537. }
  60538. // GoString returns the string representation
  60539. func (s PrincipalIdFormat) GoString() string {
  60540. return s.String()
  60541. }
  60542. // SetArn sets the Arn field's value.
  60543. func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
  60544. s.Arn = &v
  60545. return s
  60546. }
  60547. // SetStatuses sets the Statuses field's value.
  60548. func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
  60549. s.Statuses = v
  60550. return s
  60551. }
  60552. // Describes a secondary private IPv4 address for a network interface.
  60553. type PrivateIpAddressSpecification struct {
  60554. _ struct{} `type:"structure"`
  60555. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  60556. // Only one IPv4 address can be designated as primary.
  60557. Primary *bool `locationName:"primary" type:"boolean"`
  60558. // The private IPv4 addresses.
  60559. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  60560. }
  60561. // String returns the string representation
  60562. func (s PrivateIpAddressSpecification) String() string {
  60563. return awsutil.Prettify(s)
  60564. }
  60565. // GoString returns the string representation
  60566. func (s PrivateIpAddressSpecification) GoString() string {
  60567. return s.String()
  60568. }
  60569. // SetPrimary sets the Primary field's value.
  60570. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  60571. s.Primary = &v
  60572. return s
  60573. }
  60574. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  60575. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  60576. s.PrivateIpAddress = &v
  60577. return s
  60578. }
  60579. // Describes a product code.
  60580. type ProductCode struct {
  60581. _ struct{} `type:"structure"`
  60582. // The product code.
  60583. ProductCodeId *string `locationName:"productCode" type:"string"`
  60584. // The type of product code.
  60585. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  60586. }
  60587. // String returns the string representation
  60588. func (s ProductCode) String() string {
  60589. return awsutil.Prettify(s)
  60590. }
  60591. // GoString returns the string representation
  60592. func (s ProductCode) GoString() string {
  60593. return s.String()
  60594. }
  60595. // SetProductCodeId sets the ProductCodeId field's value.
  60596. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  60597. s.ProductCodeId = &v
  60598. return s
  60599. }
  60600. // SetProductCodeType sets the ProductCodeType field's value.
  60601. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  60602. s.ProductCodeType = &v
  60603. return s
  60604. }
  60605. // Describes a virtual private gateway propagating route.
  60606. type PropagatingVgw struct {
  60607. _ struct{} `type:"structure"`
  60608. // The ID of the virtual private gateway.
  60609. GatewayId *string `locationName:"gatewayId" type:"string"`
  60610. }
  60611. // String returns the string representation
  60612. func (s PropagatingVgw) String() string {
  60613. return awsutil.Prettify(s)
  60614. }
  60615. // GoString returns the string representation
  60616. func (s PropagatingVgw) GoString() string {
  60617. return s.String()
  60618. }
  60619. // SetGatewayId sets the GatewayId field's value.
  60620. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  60621. s.GatewayId = &v
  60622. return s
  60623. }
  60624. type ProvisionByoipCidrInput struct {
  60625. _ struct{} `type:"structure"`
  60626. // The public IPv4 address range, in CIDR notation. The most specific prefix
  60627. // that you can specify is /24. The address range cannot overlap with another
  60628. // address range that you've brought to this or another region.
  60629. //
  60630. // Cidr is a required field
  60631. Cidr *string `type:"string" required:"true"`
  60632. // A signed document that proves that you are authorized to bring the specified
  60633. // IP address range to Amazon using BYOIP.
  60634. CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
  60635. // A description for the address range and the address pool.
  60636. Description *string `type:"string"`
  60637. // Checks whether you have the required permissions for the action, without
  60638. // actually making the request, and provides an error response. If you have
  60639. // the required permissions, the error response is DryRunOperation. Otherwise,
  60640. // it is UnauthorizedOperation.
  60641. DryRun *bool `type:"boolean"`
  60642. }
  60643. // String returns the string representation
  60644. func (s ProvisionByoipCidrInput) String() string {
  60645. return awsutil.Prettify(s)
  60646. }
  60647. // GoString returns the string representation
  60648. func (s ProvisionByoipCidrInput) GoString() string {
  60649. return s.String()
  60650. }
  60651. // Validate inspects the fields of the type to determine if they are valid.
  60652. func (s *ProvisionByoipCidrInput) Validate() error {
  60653. invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
  60654. if s.Cidr == nil {
  60655. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  60656. }
  60657. if s.CidrAuthorizationContext != nil {
  60658. if err := s.CidrAuthorizationContext.Validate(); err != nil {
  60659. invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
  60660. }
  60661. }
  60662. if invalidParams.Len() > 0 {
  60663. return invalidParams
  60664. }
  60665. return nil
  60666. }
  60667. // SetCidr sets the Cidr field's value.
  60668. func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
  60669. s.Cidr = &v
  60670. return s
  60671. }
  60672. // SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
  60673. func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
  60674. s.CidrAuthorizationContext = v
  60675. return s
  60676. }
  60677. // SetDescription sets the Description field's value.
  60678. func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
  60679. s.Description = &v
  60680. return s
  60681. }
  60682. // SetDryRun sets the DryRun field's value.
  60683. func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
  60684. s.DryRun = &v
  60685. return s
  60686. }
  60687. type ProvisionByoipCidrOutput struct {
  60688. _ struct{} `type:"structure"`
  60689. // Information about the address pool.
  60690. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  60691. }
  60692. // String returns the string representation
  60693. func (s ProvisionByoipCidrOutput) String() string {
  60694. return awsutil.Prettify(s)
  60695. }
  60696. // GoString returns the string representation
  60697. func (s ProvisionByoipCidrOutput) GoString() string {
  60698. return s.String()
  60699. }
  60700. // SetByoipCidr sets the ByoipCidr field's value.
  60701. func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
  60702. s.ByoipCidr = v
  60703. return s
  60704. }
  60705. // Reserved. If you need to sustain traffic greater than the documented limits
  60706. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60707. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60708. type ProvisionedBandwidth struct {
  60709. _ struct{} `type:"structure"`
  60710. // Reserved. If you need to sustain traffic greater than the documented limits
  60711. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60712. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60713. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
  60714. // Reserved. If you need to sustain traffic greater than the documented limits
  60715. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60716. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60717. Provisioned *string `locationName:"provisioned" type:"string"`
  60718. // Reserved. If you need to sustain traffic greater than the documented limits
  60719. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60720. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60721. RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
  60722. // Reserved. If you need to sustain traffic greater than the documented limits
  60723. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60724. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60725. Requested *string `locationName:"requested" type:"string"`
  60726. // Reserved. If you need to sustain traffic greater than the documented limits
  60727. // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  60728. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  60729. Status *string `locationName:"status" type:"string"`
  60730. }
  60731. // String returns the string representation
  60732. func (s ProvisionedBandwidth) String() string {
  60733. return awsutil.Prettify(s)
  60734. }
  60735. // GoString returns the string representation
  60736. func (s ProvisionedBandwidth) GoString() string {
  60737. return s.String()
  60738. }
  60739. // SetProvisionTime sets the ProvisionTime field's value.
  60740. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  60741. s.ProvisionTime = &v
  60742. return s
  60743. }
  60744. // SetProvisioned sets the Provisioned field's value.
  60745. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  60746. s.Provisioned = &v
  60747. return s
  60748. }
  60749. // SetRequestTime sets the RequestTime field's value.
  60750. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  60751. s.RequestTime = &v
  60752. return s
  60753. }
  60754. // SetRequested sets the Requested field's value.
  60755. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  60756. s.Requested = &v
  60757. return s
  60758. }
  60759. // SetStatus sets the Status field's value.
  60760. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  60761. s.Status = &v
  60762. return s
  60763. }
  60764. // Describes an address pool.
  60765. type PublicIpv4Pool struct {
  60766. _ struct{} `type:"structure"`
  60767. // A description of the address pool.
  60768. Description *string `locationName:"description" type:"string"`
  60769. // The address ranges.
  60770. PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
  60771. // The ID of the IPv4 address pool.
  60772. PoolId *string `locationName:"poolId" type:"string"`
  60773. // The total number of addresses.
  60774. TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
  60775. // The total number of available addresses.
  60776. TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
  60777. }
  60778. // String returns the string representation
  60779. func (s PublicIpv4Pool) String() string {
  60780. return awsutil.Prettify(s)
  60781. }
  60782. // GoString returns the string representation
  60783. func (s PublicIpv4Pool) GoString() string {
  60784. return s.String()
  60785. }
  60786. // SetDescription sets the Description field's value.
  60787. func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
  60788. s.Description = &v
  60789. return s
  60790. }
  60791. // SetPoolAddressRanges sets the PoolAddressRanges field's value.
  60792. func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
  60793. s.PoolAddressRanges = v
  60794. return s
  60795. }
  60796. // SetPoolId sets the PoolId field's value.
  60797. func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
  60798. s.PoolId = &v
  60799. return s
  60800. }
  60801. // SetTotalAddressCount sets the TotalAddressCount field's value.
  60802. func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
  60803. s.TotalAddressCount = &v
  60804. return s
  60805. }
  60806. // SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
  60807. func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
  60808. s.TotalAvailableAddressCount = &v
  60809. return s
  60810. }
  60811. // Describes an address range of an IPv4 address pool.
  60812. type PublicIpv4PoolRange struct {
  60813. _ struct{} `type:"structure"`
  60814. // The number of addresses in the range.
  60815. AddressCount *int64 `locationName:"addressCount" type:"integer"`
  60816. // The number of available addresses in the range.
  60817. AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
  60818. // The first IP address in the range.
  60819. FirstAddress *string `locationName:"firstAddress" type:"string"`
  60820. // The last IP address in the range.
  60821. LastAddress *string `locationName:"lastAddress" type:"string"`
  60822. }
  60823. // String returns the string representation
  60824. func (s PublicIpv4PoolRange) String() string {
  60825. return awsutil.Prettify(s)
  60826. }
  60827. // GoString returns the string representation
  60828. func (s PublicIpv4PoolRange) GoString() string {
  60829. return s.String()
  60830. }
  60831. // SetAddressCount sets the AddressCount field's value.
  60832. func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
  60833. s.AddressCount = &v
  60834. return s
  60835. }
  60836. // SetAvailableAddressCount sets the AvailableAddressCount field's value.
  60837. func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
  60838. s.AvailableAddressCount = &v
  60839. return s
  60840. }
  60841. // SetFirstAddress sets the FirstAddress field's value.
  60842. func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
  60843. s.FirstAddress = &v
  60844. return s
  60845. }
  60846. // SetLastAddress sets the LastAddress field's value.
  60847. func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
  60848. s.LastAddress = &v
  60849. return s
  60850. }
  60851. // Describes the result of the purchase.
  60852. type Purchase struct {
  60853. _ struct{} `type:"structure"`
  60854. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  60855. // At this time, the only supported currency is USD.
  60856. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  60857. // The duration of the reservation's term in seconds.
  60858. Duration *int64 `locationName:"duration" type:"integer"`
  60859. // The IDs of the Dedicated Hosts associated with the reservation.
  60860. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  60861. // The ID of the reservation.
  60862. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  60863. // The hourly price of the reservation per hour.
  60864. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  60865. // The instance family on the Dedicated Host that the reservation can be associated
  60866. // with.
  60867. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  60868. // The payment option for the reservation.
  60869. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  60870. // The upfront price of the reservation.
  60871. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  60872. }
  60873. // String returns the string representation
  60874. func (s Purchase) String() string {
  60875. return awsutil.Prettify(s)
  60876. }
  60877. // GoString returns the string representation
  60878. func (s Purchase) GoString() string {
  60879. return s.String()
  60880. }
  60881. // SetCurrencyCode sets the CurrencyCode field's value.
  60882. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  60883. s.CurrencyCode = &v
  60884. return s
  60885. }
  60886. // SetDuration sets the Duration field's value.
  60887. func (s *Purchase) SetDuration(v int64) *Purchase {
  60888. s.Duration = &v
  60889. return s
  60890. }
  60891. // SetHostIdSet sets the HostIdSet field's value.
  60892. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  60893. s.HostIdSet = v
  60894. return s
  60895. }
  60896. // SetHostReservationId sets the HostReservationId field's value.
  60897. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  60898. s.HostReservationId = &v
  60899. return s
  60900. }
  60901. // SetHourlyPrice sets the HourlyPrice field's value.
  60902. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  60903. s.HourlyPrice = &v
  60904. return s
  60905. }
  60906. // SetInstanceFamily sets the InstanceFamily field's value.
  60907. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  60908. s.InstanceFamily = &v
  60909. return s
  60910. }
  60911. // SetPaymentOption sets the PaymentOption field's value.
  60912. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  60913. s.PaymentOption = &v
  60914. return s
  60915. }
  60916. // SetUpfrontPrice sets the UpfrontPrice field's value.
  60917. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  60918. s.UpfrontPrice = &v
  60919. return s
  60920. }
  60921. type PurchaseHostReservationInput struct {
  60922. _ struct{} `type:"structure"`
  60923. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  60924. // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  60925. // in the Amazon Elastic Compute Cloud User Guide.
  60926. ClientToken *string `type:"string"`
  60927. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  60928. // amounts are specified. At this time, the only supported currency is USD.
  60929. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  60930. // The IDs of the Dedicated Hosts with which the reservation will be associated.
  60931. //
  60932. // HostIdSet is a required field
  60933. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  60934. // The specified limit is checked against the total upfront cost of the reservation
  60935. // (calculated as the offering's upfront cost multiplied by the host count).
  60936. // If the total upfront cost is greater than the specified price limit, the
  60937. // request fails. This is used to ensure that the purchase does not exceed the
  60938. // expected upfront cost of the purchase. At this time, the only supported currency
  60939. // is USD. For example, to indicate a limit price of USD 100, specify 100.00.
  60940. LimitPrice *string `type:"string"`
  60941. // The ID of the offering.
  60942. //
  60943. // OfferingId is a required field
  60944. OfferingId *string `type:"string" required:"true"`
  60945. }
  60946. // String returns the string representation
  60947. func (s PurchaseHostReservationInput) String() string {
  60948. return awsutil.Prettify(s)
  60949. }
  60950. // GoString returns the string representation
  60951. func (s PurchaseHostReservationInput) GoString() string {
  60952. return s.String()
  60953. }
  60954. // Validate inspects the fields of the type to determine if they are valid.
  60955. func (s *PurchaseHostReservationInput) Validate() error {
  60956. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  60957. if s.HostIdSet == nil {
  60958. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  60959. }
  60960. if s.OfferingId == nil {
  60961. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  60962. }
  60963. if invalidParams.Len() > 0 {
  60964. return invalidParams
  60965. }
  60966. return nil
  60967. }
  60968. // SetClientToken sets the ClientToken field's value.
  60969. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  60970. s.ClientToken = &v
  60971. return s
  60972. }
  60973. // SetCurrencyCode sets the CurrencyCode field's value.
  60974. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  60975. s.CurrencyCode = &v
  60976. return s
  60977. }
  60978. // SetHostIdSet sets the HostIdSet field's value.
  60979. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  60980. s.HostIdSet = v
  60981. return s
  60982. }
  60983. // SetLimitPrice sets the LimitPrice field's value.
  60984. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  60985. s.LimitPrice = &v
  60986. return s
  60987. }
  60988. // SetOfferingId sets the OfferingId field's value.
  60989. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  60990. s.OfferingId = &v
  60991. return s
  60992. }
  60993. type PurchaseHostReservationOutput struct {
  60994. _ struct{} `type:"structure"`
  60995. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  60996. // request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  60997. // in the Amazon Elastic Compute Cloud User Guide.
  60998. ClientToken *string `locationName:"clientToken" type:"string"`
  60999. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  61000. // are specified. At this time, the only supported currency is USD.
  61001. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  61002. // Describes the details of the purchase.
  61003. Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
  61004. // The total hourly price of the reservation calculated per hour.
  61005. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  61006. // The total amount charged to your account when you purchase the reservation.
  61007. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  61008. }
  61009. // String returns the string representation
  61010. func (s PurchaseHostReservationOutput) String() string {
  61011. return awsutil.Prettify(s)
  61012. }
  61013. // GoString returns the string representation
  61014. func (s PurchaseHostReservationOutput) GoString() string {
  61015. return s.String()
  61016. }
  61017. // SetClientToken sets the ClientToken field's value.
  61018. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  61019. s.ClientToken = &v
  61020. return s
  61021. }
  61022. // SetCurrencyCode sets the CurrencyCode field's value.
  61023. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  61024. s.CurrencyCode = &v
  61025. return s
  61026. }
  61027. // SetPurchase sets the Purchase field's value.
  61028. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  61029. s.Purchase = v
  61030. return s
  61031. }
  61032. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  61033. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  61034. s.TotalHourlyPrice = &v
  61035. return s
  61036. }
  61037. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  61038. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  61039. s.TotalUpfrontPrice = &v
  61040. return s
  61041. }
  61042. // Describes a request to purchase Scheduled Instances.
  61043. type PurchaseRequest struct {
  61044. _ struct{} `type:"structure"`
  61045. // The number of instances.
  61046. //
  61047. // InstanceCount is a required field
  61048. InstanceCount *int64 `type:"integer" required:"true"`
  61049. // The purchase token.
  61050. //
  61051. // PurchaseToken is a required field
  61052. PurchaseToken *string `type:"string" required:"true"`
  61053. }
  61054. // String returns the string representation
  61055. func (s PurchaseRequest) String() string {
  61056. return awsutil.Prettify(s)
  61057. }
  61058. // GoString returns the string representation
  61059. func (s PurchaseRequest) GoString() string {
  61060. return s.String()
  61061. }
  61062. // Validate inspects the fields of the type to determine if they are valid.
  61063. func (s *PurchaseRequest) Validate() error {
  61064. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  61065. if s.InstanceCount == nil {
  61066. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  61067. }
  61068. if s.PurchaseToken == nil {
  61069. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  61070. }
  61071. if invalidParams.Len() > 0 {
  61072. return invalidParams
  61073. }
  61074. return nil
  61075. }
  61076. // SetInstanceCount sets the InstanceCount field's value.
  61077. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  61078. s.InstanceCount = &v
  61079. return s
  61080. }
  61081. // SetPurchaseToken sets the PurchaseToken field's value.
  61082. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  61083. s.PurchaseToken = &v
  61084. return s
  61085. }
  61086. // Contains the parameters for PurchaseReservedInstancesOffering.
  61087. type PurchaseReservedInstancesOfferingInput struct {
  61088. _ struct{} `type:"structure"`
  61089. // Checks whether you have the required permissions for the action, without
  61090. // actually making the request, and provides an error response. If you have
  61091. // the required permissions, the error response is DryRunOperation. Otherwise,
  61092. // it is UnauthorizedOperation.
  61093. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61094. // The number of Reserved Instances to purchase.
  61095. //
  61096. // InstanceCount is a required field
  61097. InstanceCount *int64 `type:"integer" required:"true"`
  61098. // Specified for Reserved Instance Marketplace offerings to limit the total
  61099. // order and ensure that the Reserved Instances are not purchased at unexpected
  61100. // prices.
  61101. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  61102. // The ID of the Reserved Instance offering to purchase.
  61103. //
  61104. // ReservedInstancesOfferingId is a required field
  61105. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  61106. }
  61107. // String returns the string representation
  61108. func (s PurchaseReservedInstancesOfferingInput) String() string {
  61109. return awsutil.Prettify(s)
  61110. }
  61111. // GoString returns the string representation
  61112. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  61113. return s.String()
  61114. }
  61115. // Validate inspects the fields of the type to determine if they are valid.
  61116. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  61117. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  61118. if s.InstanceCount == nil {
  61119. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  61120. }
  61121. if s.ReservedInstancesOfferingId == nil {
  61122. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  61123. }
  61124. if invalidParams.Len() > 0 {
  61125. return invalidParams
  61126. }
  61127. return nil
  61128. }
  61129. // SetDryRun sets the DryRun field's value.
  61130. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  61131. s.DryRun = &v
  61132. return s
  61133. }
  61134. // SetInstanceCount sets the InstanceCount field's value.
  61135. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  61136. s.InstanceCount = &v
  61137. return s
  61138. }
  61139. // SetLimitPrice sets the LimitPrice field's value.
  61140. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  61141. s.LimitPrice = v
  61142. return s
  61143. }
  61144. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  61145. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  61146. s.ReservedInstancesOfferingId = &v
  61147. return s
  61148. }
  61149. // Contains the output of PurchaseReservedInstancesOffering.
  61150. type PurchaseReservedInstancesOfferingOutput struct {
  61151. _ struct{} `type:"structure"`
  61152. // The IDs of the purchased Reserved Instances.
  61153. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  61154. }
  61155. // String returns the string representation
  61156. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  61157. return awsutil.Prettify(s)
  61158. }
  61159. // GoString returns the string representation
  61160. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  61161. return s.String()
  61162. }
  61163. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  61164. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  61165. s.ReservedInstancesId = &v
  61166. return s
  61167. }
  61168. // Contains the parameters for PurchaseScheduledInstances.
  61169. type PurchaseScheduledInstancesInput struct {
  61170. _ struct{} `type:"structure"`
  61171. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  61172. // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  61173. ClientToken *string `type:"string" idempotencyToken:"true"`
  61174. // Checks whether you have the required permissions for the action, without
  61175. // actually making the request, and provides an error response. If you have
  61176. // the required permissions, the error response is DryRunOperation. Otherwise,
  61177. // it is UnauthorizedOperation.
  61178. DryRun *bool `type:"boolean"`
  61179. // One or more purchase requests.
  61180. //
  61181. // PurchaseRequests is a required field
  61182. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  61183. }
  61184. // String returns the string representation
  61185. func (s PurchaseScheduledInstancesInput) String() string {
  61186. return awsutil.Prettify(s)
  61187. }
  61188. // GoString returns the string representation
  61189. func (s PurchaseScheduledInstancesInput) GoString() string {
  61190. return s.String()
  61191. }
  61192. // Validate inspects the fields of the type to determine if they are valid.
  61193. func (s *PurchaseScheduledInstancesInput) Validate() error {
  61194. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  61195. if s.PurchaseRequests == nil {
  61196. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  61197. }
  61198. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  61199. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  61200. }
  61201. if s.PurchaseRequests != nil {
  61202. for i, v := range s.PurchaseRequests {
  61203. if v == nil {
  61204. continue
  61205. }
  61206. if err := v.Validate(); err != nil {
  61207. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  61208. }
  61209. }
  61210. }
  61211. if invalidParams.Len() > 0 {
  61212. return invalidParams
  61213. }
  61214. return nil
  61215. }
  61216. // SetClientToken sets the ClientToken field's value.
  61217. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  61218. s.ClientToken = &v
  61219. return s
  61220. }
  61221. // SetDryRun sets the DryRun field's value.
  61222. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  61223. s.DryRun = &v
  61224. return s
  61225. }
  61226. // SetPurchaseRequests sets the PurchaseRequests field's value.
  61227. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  61228. s.PurchaseRequests = v
  61229. return s
  61230. }
  61231. // Contains the output of PurchaseScheduledInstances.
  61232. type PurchaseScheduledInstancesOutput struct {
  61233. _ struct{} `type:"structure"`
  61234. // Information about the Scheduled Instances.
  61235. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  61236. }
  61237. // String returns the string representation
  61238. func (s PurchaseScheduledInstancesOutput) String() string {
  61239. return awsutil.Prettify(s)
  61240. }
  61241. // GoString returns the string representation
  61242. func (s PurchaseScheduledInstancesOutput) GoString() string {
  61243. return s.String()
  61244. }
  61245. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  61246. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  61247. s.ScheduledInstanceSet = v
  61248. return s
  61249. }
  61250. type RebootInstancesInput struct {
  61251. _ struct{} `type:"structure"`
  61252. // Checks whether you have the required permissions for the action, without
  61253. // actually making the request, and provides an error response. If you have
  61254. // the required permissions, the error response is DryRunOperation. Otherwise,
  61255. // it is UnauthorizedOperation.
  61256. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61257. // One or more instance IDs.
  61258. //
  61259. // InstanceIds is a required field
  61260. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  61261. }
  61262. // String returns the string representation
  61263. func (s RebootInstancesInput) String() string {
  61264. return awsutil.Prettify(s)
  61265. }
  61266. // GoString returns the string representation
  61267. func (s RebootInstancesInput) GoString() string {
  61268. return s.String()
  61269. }
  61270. // Validate inspects the fields of the type to determine if they are valid.
  61271. func (s *RebootInstancesInput) Validate() error {
  61272. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  61273. if s.InstanceIds == nil {
  61274. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  61275. }
  61276. if invalidParams.Len() > 0 {
  61277. return invalidParams
  61278. }
  61279. return nil
  61280. }
  61281. // SetDryRun sets the DryRun field's value.
  61282. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  61283. s.DryRun = &v
  61284. return s
  61285. }
  61286. // SetInstanceIds sets the InstanceIds field's value.
  61287. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  61288. s.InstanceIds = v
  61289. return s
  61290. }
  61291. type RebootInstancesOutput struct {
  61292. _ struct{} `type:"structure"`
  61293. }
  61294. // String returns the string representation
  61295. func (s RebootInstancesOutput) String() string {
  61296. return awsutil.Prettify(s)
  61297. }
  61298. // GoString returns the string representation
  61299. func (s RebootInstancesOutput) GoString() string {
  61300. return s.String()
  61301. }
  61302. // Describes a recurring charge.
  61303. type RecurringCharge struct {
  61304. _ struct{} `type:"structure"`
  61305. // The amount of the recurring charge.
  61306. Amount *float64 `locationName:"amount" type:"double"`
  61307. // The frequency of the recurring charge.
  61308. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  61309. }
  61310. // String returns the string representation
  61311. func (s RecurringCharge) String() string {
  61312. return awsutil.Prettify(s)
  61313. }
  61314. // GoString returns the string representation
  61315. func (s RecurringCharge) GoString() string {
  61316. return s.String()
  61317. }
  61318. // SetAmount sets the Amount field's value.
  61319. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  61320. s.Amount = &v
  61321. return s
  61322. }
  61323. // SetFrequency sets the Frequency field's value.
  61324. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  61325. s.Frequency = &v
  61326. return s
  61327. }
  61328. // Describes a region.
  61329. type Region struct {
  61330. _ struct{} `type:"structure"`
  61331. // The region service endpoint.
  61332. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  61333. // The name of the region.
  61334. RegionName *string `locationName:"regionName" type:"string"`
  61335. }
  61336. // String returns the string representation
  61337. func (s Region) String() string {
  61338. return awsutil.Prettify(s)
  61339. }
  61340. // GoString returns the string representation
  61341. func (s Region) GoString() string {
  61342. return s.String()
  61343. }
  61344. // SetEndpoint sets the Endpoint field's value.
  61345. func (s *Region) SetEndpoint(v string) *Region {
  61346. s.Endpoint = &v
  61347. return s
  61348. }
  61349. // SetRegionName sets the RegionName field's value.
  61350. func (s *Region) SetRegionName(v string) *Region {
  61351. s.RegionName = &v
  61352. return s
  61353. }
  61354. // Contains the parameters for RegisterImage.
  61355. type RegisterImageInput struct {
  61356. _ struct{} `type:"structure"`
  61357. // The architecture of the AMI.
  61358. //
  61359. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  61360. // the architecture specified in the manifest file.
  61361. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  61362. // The billing product codes. Your account must be authorized to specify billing
  61363. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  61364. // use of an AMI.
  61365. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  61366. // One or more block device mapping entries.
  61367. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  61368. // A description for your AMI.
  61369. Description *string `locationName:"description" type:"string"`
  61370. // Checks whether you have the required permissions for the action, without
  61371. // actually making the request, and provides an error response. If you have
  61372. // the required permissions, the error response is DryRunOperation. Otherwise,
  61373. // it is UnauthorizedOperation.
  61374. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61375. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  61376. // that you launch from the AMI.
  61377. //
  61378. // This option is supported only for HVM AMIs. Specifying this option with a
  61379. // PV AMI can make instances launched from the AMI unreachable.
  61380. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  61381. // The full path to your AMI manifest in Amazon S3 storage.
  61382. ImageLocation *string `type:"string"`
  61383. // The ID of the kernel.
  61384. KernelId *string `locationName:"kernelId" type:"string"`
  61385. // A name for your AMI.
  61386. //
  61387. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  61388. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  61389. // at-signs (@), or underscores(_)
  61390. //
  61391. // Name is a required field
  61392. Name *string `locationName:"name" type:"string" required:"true"`
  61393. // The ID of the RAM disk.
  61394. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  61395. // The device name of the root device volume (for example, /dev/sda1).
  61396. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  61397. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  61398. // Function interface for the AMI and any instances that you launch from the
  61399. // AMI.
  61400. //
  61401. // There is no way to disable sriovNetSupport at this time.
  61402. //
  61403. // This option is supported only for HVM AMIs. Specifying this option with a
  61404. // PV AMI can make instances launched from the AMI unreachable.
  61405. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  61406. // The type of virtualization (hvm | paravirtual).
  61407. //
  61408. // Default: paravirtual
  61409. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  61410. }
  61411. // String returns the string representation
  61412. func (s RegisterImageInput) String() string {
  61413. return awsutil.Prettify(s)
  61414. }
  61415. // GoString returns the string representation
  61416. func (s RegisterImageInput) GoString() string {
  61417. return s.String()
  61418. }
  61419. // Validate inspects the fields of the type to determine if they are valid.
  61420. func (s *RegisterImageInput) Validate() error {
  61421. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  61422. if s.Name == nil {
  61423. invalidParams.Add(request.NewErrParamRequired("Name"))
  61424. }
  61425. if invalidParams.Len() > 0 {
  61426. return invalidParams
  61427. }
  61428. return nil
  61429. }
  61430. // SetArchitecture sets the Architecture field's value.
  61431. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  61432. s.Architecture = &v
  61433. return s
  61434. }
  61435. // SetBillingProducts sets the BillingProducts field's value.
  61436. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  61437. s.BillingProducts = v
  61438. return s
  61439. }
  61440. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  61441. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  61442. s.BlockDeviceMappings = v
  61443. return s
  61444. }
  61445. // SetDescription sets the Description field's value.
  61446. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  61447. s.Description = &v
  61448. return s
  61449. }
  61450. // SetDryRun sets the DryRun field's value.
  61451. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  61452. s.DryRun = &v
  61453. return s
  61454. }
  61455. // SetEnaSupport sets the EnaSupport field's value.
  61456. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  61457. s.EnaSupport = &v
  61458. return s
  61459. }
  61460. // SetImageLocation sets the ImageLocation field's value.
  61461. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  61462. s.ImageLocation = &v
  61463. return s
  61464. }
  61465. // SetKernelId sets the KernelId field's value.
  61466. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  61467. s.KernelId = &v
  61468. return s
  61469. }
  61470. // SetName sets the Name field's value.
  61471. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  61472. s.Name = &v
  61473. return s
  61474. }
  61475. // SetRamdiskId sets the RamdiskId field's value.
  61476. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  61477. s.RamdiskId = &v
  61478. return s
  61479. }
  61480. // SetRootDeviceName sets the RootDeviceName field's value.
  61481. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  61482. s.RootDeviceName = &v
  61483. return s
  61484. }
  61485. // SetSriovNetSupport sets the SriovNetSupport field's value.
  61486. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  61487. s.SriovNetSupport = &v
  61488. return s
  61489. }
  61490. // SetVirtualizationType sets the VirtualizationType field's value.
  61491. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  61492. s.VirtualizationType = &v
  61493. return s
  61494. }
  61495. // Contains the output of RegisterImage.
  61496. type RegisterImageOutput struct {
  61497. _ struct{} `type:"structure"`
  61498. // The ID of the newly registered AMI.
  61499. ImageId *string `locationName:"imageId" type:"string"`
  61500. }
  61501. // String returns the string representation
  61502. func (s RegisterImageOutput) String() string {
  61503. return awsutil.Prettify(s)
  61504. }
  61505. // GoString returns the string representation
  61506. func (s RegisterImageOutput) GoString() string {
  61507. return s.String()
  61508. }
  61509. // SetImageId sets the ImageId field's value.
  61510. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  61511. s.ImageId = &v
  61512. return s
  61513. }
  61514. type RejectTransitGatewayVpcAttachmentInput struct {
  61515. _ struct{} `type:"structure"`
  61516. // Checks whether you have the required permissions for the action, without
  61517. // actually making the request, and provides an error response. If you have
  61518. // the required permissions, the error response is DryRunOperation. Otherwise,
  61519. // it is UnauthorizedOperation.
  61520. DryRun *bool `type:"boolean"`
  61521. // The ID of the attachment.
  61522. //
  61523. // TransitGatewayAttachmentId is a required field
  61524. TransitGatewayAttachmentId *string `type:"string" required:"true"`
  61525. }
  61526. // String returns the string representation
  61527. func (s RejectTransitGatewayVpcAttachmentInput) String() string {
  61528. return awsutil.Prettify(s)
  61529. }
  61530. // GoString returns the string representation
  61531. func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
  61532. return s.String()
  61533. }
  61534. // Validate inspects the fields of the type to determine if they are valid.
  61535. func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
  61536. invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
  61537. if s.TransitGatewayAttachmentId == nil {
  61538. invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
  61539. }
  61540. if invalidParams.Len() > 0 {
  61541. return invalidParams
  61542. }
  61543. return nil
  61544. }
  61545. // SetDryRun sets the DryRun field's value.
  61546. func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
  61547. s.DryRun = &v
  61548. return s
  61549. }
  61550. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  61551. func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
  61552. s.TransitGatewayAttachmentId = &v
  61553. return s
  61554. }
  61555. type RejectTransitGatewayVpcAttachmentOutput struct {
  61556. _ struct{} `type:"structure"`
  61557. // Information about the attachment.
  61558. TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
  61559. }
  61560. // String returns the string representation
  61561. func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
  61562. return awsutil.Prettify(s)
  61563. }
  61564. // GoString returns the string representation
  61565. func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
  61566. return s.String()
  61567. }
  61568. // SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
  61569. func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
  61570. s.TransitGatewayVpcAttachment = v
  61571. return s
  61572. }
  61573. type RejectVpcEndpointConnectionsInput struct {
  61574. _ struct{} `type:"structure"`
  61575. // Checks whether you have the required permissions for the action, without
  61576. // actually making the request, and provides an error response. If you have
  61577. // the required permissions, the error response is DryRunOperation. Otherwise,
  61578. // it is UnauthorizedOperation.
  61579. DryRun *bool `type:"boolean"`
  61580. // The ID of the service.
  61581. //
  61582. // ServiceId is a required field
  61583. ServiceId *string `type:"string" required:"true"`
  61584. // The IDs of one or more VPC endpoints.
  61585. //
  61586. // VpcEndpointIds is a required field
  61587. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  61588. }
  61589. // String returns the string representation
  61590. func (s RejectVpcEndpointConnectionsInput) String() string {
  61591. return awsutil.Prettify(s)
  61592. }
  61593. // GoString returns the string representation
  61594. func (s RejectVpcEndpointConnectionsInput) GoString() string {
  61595. return s.String()
  61596. }
  61597. // Validate inspects the fields of the type to determine if they are valid.
  61598. func (s *RejectVpcEndpointConnectionsInput) Validate() error {
  61599. invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
  61600. if s.ServiceId == nil {
  61601. invalidParams.Add(request.NewErrParamRequired("ServiceId"))
  61602. }
  61603. if s.VpcEndpointIds == nil {
  61604. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  61605. }
  61606. if invalidParams.Len() > 0 {
  61607. return invalidParams
  61608. }
  61609. return nil
  61610. }
  61611. // SetDryRun sets the DryRun field's value.
  61612. func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
  61613. s.DryRun = &v
  61614. return s
  61615. }
  61616. // SetServiceId sets the ServiceId field's value.
  61617. func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
  61618. s.ServiceId = &v
  61619. return s
  61620. }
  61621. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  61622. func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
  61623. s.VpcEndpointIds = v
  61624. return s
  61625. }
  61626. type RejectVpcEndpointConnectionsOutput struct {
  61627. _ struct{} `type:"structure"`
  61628. // Information about the endpoints that were not rejected, if applicable.
  61629. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  61630. }
  61631. // String returns the string representation
  61632. func (s RejectVpcEndpointConnectionsOutput) String() string {
  61633. return awsutil.Prettify(s)
  61634. }
  61635. // GoString returns the string representation
  61636. func (s RejectVpcEndpointConnectionsOutput) GoString() string {
  61637. return s.String()
  61638. }
  61639. // SetUnsuccessful sets the Unsuccessful field's value.
  61640. func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
  61641. s.Unsuccessful = v
  61642. return s
  61643. }
  61644. type RejectVpcPeeringConnectionInput struct {
  61645. _ struct{} `type:"structure"`
  61646. // Checks whether you have the required permissions for the action, without
  61647. // actually making the request, and provides an error response. If you have
  61648. // the required permissions, the error response is DryRunOperation. Otherwise,
  61649. // it is UnauthorizedOperation.
  61650. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61651. // The ID of the VPC peering connection.
  61652. //
  61653. // VpcPeeringConnectionId is a required field
  61654. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  61655. }
  61656. // String returns the string representation
  61657. func (s RejectVpcPeeringConnectionInput) String() string {
  61658. return awsutil.Prettify(s)
  61659. }
  61660. // GoString returns the string representation
  61661. func (s RejectVpcPeeringConnectionInput) GoString() string {
  61662. return s.String()
  61663. }
  61664. // Validate inspects the fields of the type to determine if they are valid.
  61665. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  61666. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  61667. if s.VpcPeeringConnectionId == nil {
  61668. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  61669. }
  61670. if invalidParams.Len() > 0 {
  61671. return invalidParams
  61672. }
  61673. return nil
  61674. }
  61675. // SetDryRun sets the DryRun field's value.
  61676. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  61677. s.DryRun = &v
  61678. return s
  61679. }
  61680. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  61681. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  61682. s.VpcPeeringConnectionId = &v
  61683. return s
  61684. }
  61685. type RejectVpcPeeringConnectionOutput struct {
  61686. _ struct{} `type:"structure"`
  61687. // Returns true if the request succeeds; otherwise, it returns an error.
  61688. Return *bool `locationName:"return" type:"boolean"`
  61689. }
  61690. // String returns the string representation
  61691. func (s RejectVpcPeeringConnectionOutput) String() string {
  61692. return awsutil.Prettify(s)
  61693. }
  61694. // GoString returns the string representation
  61695. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  61696. return s.String()
  61697. }
  61698. // SetReturn sets the Return field's value.
  61699. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  61700. s.Return = &v
  61701. return s
  61702. }
  61703. type ReleaseAddressInput struct {
  61704. _ struct{} `type:"structure"`
  61705. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  61706. AllocationId *string `type:"string"`
  61707. // Checks whether you have the required permissions for the action, without
  61708. // actually making the request, and provides an error response. If you have
  61709. // the required permissions, the error response is DryRunOperation. Otherwise,
  61710. // it is UnauthorizedOperation.
  61711. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61712. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  61713. PublicIp *string `type:"string"`
  61714. }
  61715. // String returns the string representation
  61716. func (s ReleaseAddressInput) String() string {
  61717. return awsutil.Prettify(s)
  61718. }
  61719. // GoString returns the string representation
  61720. func (s ReleaseAddressInput) GoString() string {
  61721. return s.String()
  61722. }
  61723. // SetAllocationId sets the AllocationId field's value.
  61724. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  61725. s.AllocationId = &v
  61726. return s
  61727. }
  61728. // SetDryRun sets the DryRun field's value.
  61729. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  61730. s.DryRun = &v
  61731. return s
  61732. }
  61733. // SetPublicIp sets the PublicIp field's value.
  61734. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  61735. s.PublicIp = &v
  61736. return s
  61737. }
  61738. type ReleaseAddressOutput struct {
  61739. _ struct{} `type:"structure"`
  61740. }
  61741. // String returns the string representation
  61742. func (s ReleaseAddressOutput) String() string {
  61743. return awsutil.Prettify(s)
  61744. }
  61745. // GoString returns the string representation
  61746. func (s ReleaseAddressOutput) GoString() string {
  61747. return s.String()
  61748. }
  61749. type ReleaseHostsInput struct {
  61750. _ struct{} `type:"structure"`
  61751. // The IDs of the Dedicated Hosts to release.
  61752. //
  61753. // HostIds is a required field
  61754. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  61755. }
  61756. // String returns the string representation
  61757. func (s ReleaseHostsInput) String() string {
  61758. return awsutil.Prettify(s)
  61759. }
  61760. // GoString returns the string representation
  61761. func (s ReleaseHostsInput) GoString() string {
  61762. return s.String()
  61763. }
  61764. // Validate inspects the fields of the type to determine if they are valid.
  61765. func (s *ReleaseHostsInput) Validate() error {
  61766. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  61767. if s.HostIds == nil {
  61768. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  61769. }
  61770. if invalidParams.Len() > 0 {
  61771. return invalidParams
  61772. }
  61773. return nil
  61774. }
  61775. // SetHostIds sets the HostIds field's value.
  61776. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  61777. s.HostIds = v
  61778. return s
  61779. }
  61780. type ReleaseHostsOutput struct {
  61781. _ struct{} `type:"structure"`
  61782. // The IDs of the Dedicated Hosts that were successfully released.
  61783. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  61784. // The IDs of the Dedicated Hosts that could not be released, including an error
  61785. // message.
  61786. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  61787. }
  61788. // String returns the string representation
  61789. func (s ReleaseHostsOutput) String() string {
  61790. return awsutil.Prettify(s)
  61791. }
  61792. // GoString returns the string representation
  61793. func (s ReleaseHostsOutput) GoString() string {
  61794. return s.String()
  61795. }
  61796. // SetSuccessful sets the Successful field's value.
  61797. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  61798. s.Successful = v
  61799. return s
  61800. }
  61801. // SetUnsuccessful sets the Unsuccessful field's value.
  61802. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  61803. s.Unsuccessful = v
  61804. return s
  61805. }
  61806. type ReplaceIamInstanceProfileAssociationInput struct {
  61807. _ struct{} `type:"structure"`
  61808. // The ID of the existing IAM instance profile association.
  61809. //
  61810. // AssociationId is a required field
  61811. AssociationId *string `type:"string" required:"true"`
  61812. // The IAM instance profile.
  61813. //
  61814. // IamInstanceProfile is a required field
  61815. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  61816. }
  61817. // String returns the string representation
  61818. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  61819. return awsutil.Prettify(s)
  61820. }
  61821. // GoString returns the string representation
  61822. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  61823. return s.String()
  61824. }
  61825. // Validate inspects the fields of the type to determine if they are valid.
  61826. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  61827. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  61828. if s.AssociationId == nil {
  61829. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  61830. }
  61831. if s.IamInstanceProfile == nil {
  61832. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  61833. }
  61834. if invalidParams.Len() > 0 {
  61835. return invalidParams
  61836. }
  61837. return nil
  61838. }
  61839. // SetAssociationId sets the AssociationId field's value.
  61840. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  61841. s.AssociationId = &v
  61842. return s
  61843. }
  61844. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  61845. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  61846. s.IamInstanceProfile = v
  61847. return s
  61848. }
  61849. type ReplaceIamInstanceProfileAssociationOutput struct {
  61850. _ struct{} `type:"structure"`
  61851. // Information about the IAM instance profile association.
  61852. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  61853. }
  61854. // String returns the string representation
  61855. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  61856. return awsutil.Prettify(s)
  61857. }
  61858. // GoString returns the string representation
  61859. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  61860. return s.String()
  61861. }
  61862. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  61863. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  61864. s.IamInstanceProfileAssociation = v
  61865. return s
  61866. }
  61867. type ReplaceNetworkAclAssociationInput struct {
  61868. _ struct{} `type:"structure"`
  61869. // The ID of the current association between the original network ACL and the
  61870. // subnet.
  61871. //
  61872. // AssociationId is a required field
  61873. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  61874. // Checks whether you have the required permissions for the action, without
  61875. // actually making the request, and provides an error response. If you have
  61876. // the required permissions, the error response is DryRunOperation. Otherwise,
  61877. // it is UnauthorizedOperation.
  61878. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61879. // The ID of the new network ACL to associate with the subnet.
  61880. //
  61881. // NetworkAclId is a required field
  61882. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  61883. }
  61884. // String returns the string representation
  61885. func (s ReplaceNetworkAclAssociationInput) String() string {
  61886. return awsutil.Prettify(s)
  61887. }
  61888. // GoString returns the string representation
  61889. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  61890. return s.String()
  61891. }
  61892. // Validate inspects the fields of the type to determine if they are valid.
  61893. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  61894. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  61895. if s.AssociationId == nil {
  61896. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  61897. }
  61898. if s.NetworkAclId == nil {
  61899. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  61900. }
  61901. if invalidParams.Len() > 0 {
  61902. return invalidParams
  61903. }
  61904. return nil
  61905. }
  61906. // SetAssociationId sets the AssociationId field's value.
  61907. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  61908. s.AssociationId = &v
  61909. return s
  61910. }
  61911. // SetDryRun sets the DryRun field's value.
  61912. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  61913. s.DryRun = &v
  61914. return s
  61915. }
  61916. // SetNetworkAclId sets the NetworkAclId field's value.
  61917. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  61918. s.NetworkAclId = &v
  61919. return s
  61920. }
  61921. type ReplaceNetworkAclAssociationOutput struct {
  61922. _ struct{} `type:"structure"`
  61923. // The ID of the new association.
  61924. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  61925. }
  61926. // String returns the string representation
  61927. func (s ReplaceNetworkAclAssociationOutput) String() string {
  61928. return awsutil.Prettify(s)
  61929. }
  61930. // GoString returns the string representation
  61931. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  61932. return s.String()
  61933. }
  61934. // SetNewAssociationId sets the NewAssociationId field's value.
  61935. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  61936. s.NewAssociationId = &v
  61937. return s
  61938. }
  61939. type ReplaceNetworkAclEntryInput struct {
  61940. _ struct{} `type:"structure"`
  61941. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  61942. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  61943. // Checks whether you have the required permissions for the action, without
  61944. // actually making the request, and provides an error response. If you have
  61945. // the required permissions, the error response is DryRunOperation. Otherwise,
  61946. // it is UnauthorizedOperation.
  61947. DryRun *bool `locationName:"dryRun" type:"boolean"`
  61948. // Indicates whether to replace the egress rule.
  61949. //
  61950. // Default: If no value is specified, we replace the ingress rule.
  61951. //
  61952. // Egress is a required field
  61953. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  61954. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
  61955. // 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  61956. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  61957. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  61958. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  61959. // The ID of the ACL.
  61960. //
  61961. // NetworkAclId is a required field
  61962. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  61963. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  61964. // specifying protocol 6 (TCP) or 17 (UDP).
  61965. PortRange *PortRange `locationName:"portRange" type:"structure"`
  61966. // The protocol number. A value of "-1" means all protocols. If you specify
  61967. // "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
  61968. // traffic on all ports is allowed, regardless of any ports or ICMP types or
  61969. // codes that you specify. If you specify protocol "58" (ICMPv6) and specify
  61970. // an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
  61971. // of any that you specify. If you specify protocol "58" (ICMPv6) and specify
  61972. // an IPv6 CIDR block, you must specify an ICMP type and code.
  61973. //
  61974. // Protocol is a required field
  61975. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  61976. // Indicates whether to allow or deny the traffic that matches the rule.
  61977. //
  61978. // RuleAction is a required field
  61979. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  61980. // The rule number of the entry to replace.
  61981. //
  61982. // RuleNumber is a required field
  61983. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  61984. }
  61985. // String returns the string representation
  61986. func (s ReplaceNetworkAclEntryInput) String() string {
  61987. return awsutil.Prettify(s)
  61988. }
  61989. // GoString returns the string representation
  61990. func (s ReplaceNetworkAclEntryInput) GoString() string {
  61991. return s.String()
  61992. }
  61993. // Validate inspects the fields of the type to determine if they are valid.
  61994. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  61995. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  61996. if s.Egress == nil {
  61997. invalidParams.Add(request.NewErrParamRequired("Egress"))
  61998. }
  61999. if s.NetworkAclId == nil {
  62000. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  62001. }
  62002. if s.Protocol == nil {
  62003. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  62004. }
  62005. if s.RuleAction == nil {
  62006. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  62007. }
  62008. if s.RuleNumber == nil {
  62009. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  62010. }
  62011. if invalidParams.Len() > 0 {
  62012. return invalidParams
  62013. }
  62014. return nil
  62015. }
  62016. // SetCidrBlock sets the CidrBlock field's value.
  62017. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  62018. s.CidrBlock = &v
  62019. return s
  62020. }
  62021. // SetDryRun sets the DryRun field's value.
  62022. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  62023. s.DryRun = &v
  62024. return s
  62025. }
  62026. // SetEgress sets the Egress field's value.
  62027. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  62028. s.Egress = &v
  62029. return s
  62030. }
  62031. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  62032. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  62033. s.IcmpTypeCode = v
  62034. return s
  62035. }
  62036. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  62037. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  62038. s.Ipv6CidrBlock = &v
  62039. return s
  62040. }
  62041. // SetNetworkAclId sets the NetworkAclId field's value.
  62042. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  62043. s.NetworkAclId = &v
  62044. return s
  62045. }
  62046. // SetPortRange sets the PortRange field's value.
  62047. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  62048. s.PortRange = v
  62049. return s
  62050. }
  62051. // SetProtocol sets the Protocol field's value.
  62052. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  62053. s.Protocol = &v
  62054. return s
  62055. }
  62056. // SetRuleAction sets the RuleAction field's value.
  62057. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  62058. s.RuleAction = &v
  62059. return s
  62060. }
  62061. // SetRuleNumber sets the RuleNumber field's value.
  62062. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  62063. s.RuleNumber = &v
  62064. return s
  62065. }
  62066. type ReplaceNetworkAclEntryOutput struct {
  62067. _ struct{} `type:"structure"`
  62068. }
  62069. // String returns the string representation
  62070. func (s ReplaceNetworkAclEntryOutput) String() string {
  62071. return awsutil.Prettify(s)
  62072. }
  62073. // GoString returns the string representation
  62074. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  62075. return s.String()
  62076. }
  62077. type ReplaceRouteInput struct {
  62078. _ struct{} `type:"structure"`
  62079. // The IPv4 CIDR address block used for the destination match. The value that
  62080. // you provide must match the CIDR of an existing route in the table.
  62081. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  62082. // The IPv6 CIDR address block used for the destination match. The value that
  62083. // you provide must match the CIDR of an existing route in the table.
  62084. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  62085. // Checks whether you have the required permissions for the action, without
  62086. // actually making the request, and provides an error response. If you have
  62087. // the required permissions, the error response is DryRunOperation. Otherwise,
  62088. // it is UnauthorizedOperation.
  62089. DryRun *bool `locationName:"dryRun" type:"boolean"`
  62090. // [IPv6 traffic only] The ID of an egress-only internet gateway.
  62091. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  62092. // The ID of an internet gateway or virtual private gateway.
  62093. GatewayId *string `locationName:"gatewayId" type:"string"`
  62094. // The ID of a NAT instance in your VPC.
  62095. InstanceId *string `locationName:"instanceId" type:"string"`
  62096. // [IPv4 traffic only] The ID of a NAT gateway.
  62097. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  62098. // The ID of a network interface.
  62099. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  62100. // The ID of the route table.
  62101. //
  62102. // RouteTableId is a required field
  62103. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  62104. // The ID of a transit gateway.
  62105. TransitGatewayId *string `type:"string"`
  62106. // The ID of a VPC peering connection.
  62107. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  62108. }
  62109. // String returns the string representation
  62110. func (s ReplaceRouteInput) String() string {
  62111. return awsutil.Prettify(s)
  62112. }
  62113. // GoString returns the string representation
  62114. func (s ReplaceRouteInput) GoString() string {
  62115. return s.String()
  62116. }
  62117. // Validate inspects the fields of the type to determine if they are valid.
  62118. func (s *ReplaceRouteInput) Validate() error {
  62119. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  62120. if s.RouteTableId == nil {
  62121. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  62122. }
  62123. if invalidParams.Len() > 0 {
  62124. return invalidParams
  62125. }
  62126. return nil
  62127. }
  62128. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  62129. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  62130. s.DestinationCidrBlock = &v
  62131. return s
  62132. }
  62133. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  62134. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  62135. s.DestinationIpv6CidrBlock = &v
  62136. return s
  62137. }
  62138. // SetDryRun sets the DryRun field's value.
  62139. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  62140. s.DryRun = &v
  62141. return s
  62142. }
  62143. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  62144. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  62145. s.EgressOnlyInternetGatewayId = &v
  62146. return s
  62147. }
  62148. // SetGatewayId sets the GatewayId field's value.
  62149. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  62150. s.GatewayId = &v
  62151. return s
  62152. }
  62153. // SetInstanceId sets the InstanceId field's value.
  62154. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  62155. s.InstanceId = &v
  62156. return s
  62157. }
  62158. // SetNatGatewayId sets the NatGatewayId field's value.
  62159. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  62160. s.NatGatewayId = &v
  62161. return s
  62162. }
  62163. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  62164. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  62165. s.NetworkInterfaceId = &v
  62166. return s
  62167. }
  62168. // SetRouteTableId sets the RouteTableId field's value.
  62169. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  62170. s.RouteTableId = &v
  62171. return s
  62172. }
  62173. // SetTransitGatewayId sets the TransitGatewayId field's value.
  62174. func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
  62175. s.TransitGatewayId = &v
  62176. return s
  62177. }
  62178. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  62179. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  62180. s.VpcPeeringConnectionId = &v
  62181. return s
  62182. }
  62183. type ReplaceRouteOutput struct {
  62184. _ struct{} `type:"structure"`
  62185. }
  62186. // String returns the string representation
  62187. func (s ReplaceRouteOutput) String() string {
  62188. return awsutil.Prettify(s)
  62189. }
  62190. // GoString returns the string representation
  62191. func (s ReplaceRouteOutput) GoString() string {
  62192. return s.String()
  62193. }
  62194. type ReplaceRouteTableAssociationInput struct {
  62195. _ struct{} `type:"structure"`
  62196. // The association ID.
  62197. //
  62198. // AssociationId is a required field
  62199. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  62200. // Checks whether you have the required permissions for the action, without
  62201. // actually making the request, and provides an error response. If you have
  62202. // the required permissions, the error response is DryRunOperation. Otherwise,
  62203. // it is UnauthorizedOperation.
  62204. DryRun *bool `locationName:"dryRun" type:"boolean"`
  62205. // The ID of the new route table to associate with the subnet.
  62206. //
  62207. // RouteTableId is a required field
  62208. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  62209. }
  62210. // String returns the string representation
  62211. func (s ReplaceRouteTableAssociationInput) String() string {
  62212. return awsutil.Prettify(s)
  62213. }
  62214. // GoString returns the string representation
  62215. func (s ReplaceRouteTableAssociationInput) GoString() string {
  62216. return s.String()
  62217. }
  62218. // Validate inspects the fields of the type to determine if they are valid.
  62219. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  62220. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  62221. if s.AssociationId == nil {
  62222. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  62223. }
  62224. if s.RouteTableId == nil {
  62225. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  62226. }
  62227. if invalidParams.Len() > 0 {
  62228. return invalidParams
  62229. }
  62230. return nil
  62231. }
  62232. // SetAssociationId sets the AssociationId field's value.
  62233. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  62234. s.AssociationId = &v
  62235. return s
  62236. }
  62237. // SetDryRun sets the DryRun field's value.
  62238. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  62239. s.DryRun = &v
  62240. return s
  62241. }
  62242. // SetRouteTableId sets the RouteTableId field's value.
  62243. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  62244. s.RouteTableId = &v
  62245. return s
  62246. }
  62247. type ReplaceRouteTableAssociationOutput struct {
  62248. _ struct{} `type:"structure"`
  62249. // The ID of the new association.
  62250. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  62251. }
  62252. // String returns the string representation
  62253. func (s ReplaceRouteTableAssociationOutput) String() string {
  62254. return awsutil.Prettify(s)
  62255. }
  62256. // GoString returns the string representation
  62257. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  62258. return s.String()
  62259. }
  62260. // SetNewAssociationId sets the NewAssociationId field's value.
  62261. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  62262. s.NewAssociationId = &v
  62263. return s
  62264. }
  62265. type ReplaceTransitGatewayRouteInput struct {
  62266. _ struct{} `type:"structure"`
  62267. // Indicates whether traffic matching this route is to be dropped.
  62268. Blackhole *bool `type:"boolean"`
  62269. // The CIDR range used for the destination match. Routing decisions are based
  62270. // on the most specific match.
  62271. //
  62272. // DestinationCidrBlock is a required field
  62273. DestinationCidrBlock *string `type:"string" required:"true"`
  62274. // Checks whether you have the required permissions for the action, without
  62275. // actually making the request, and provides an error response. If you have
  62276. // the required permissions, the error response is DryRunOperation. Otherwise,
  62277. // it is UnauthorizedOperation.
  62278. DryRun *bool `type:"boolean"`
  62279. // The ID of the attachment.
  62280. TransitGatewayAttachmentId *string `type:"string"`
  62281. // The ID of the route table.
  62282. //
  62283. // TransitGatewayRouteTableId is a required field
  62284. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  62285. }
  62286. // String returns the string representation
  62287. func (s ReplaceTransitGatewayRouteInput) String() string {
  62288. return awsutil.Prettify(s)
  62289. }
  62290. // GoString returns the string representation
  62291. func (s ReplaceTransitGatewayRouteInput) GoString() string {
  62292. return s.String()
  62293. }
  62294. // Validate inspects the fields of the type to determine if they are valid.
  62295. func (s *ReplaceTransitGatewayRouteInput) Validate() error {
  62296. invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
  62297. if s.DestinationCidrBlock == nil {
  62298. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  62299. }
  62300. if s.TransitGatewayRouteTableId == nil {
  62301. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  62302. }
  62303. if invalidParams.Len() > 0 {
  62304. return invalidParams
  62305. }
  62306. return nil
  62307. }
  62308. // SetBlackhole sets the Blackhole field's value.
  62309. func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
  62310. s.Blackhole = &v
  62311. return s
  62312. }
  62313. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  62314. func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
  62315. s.DestinationCidrBlock = &v
  62316. return s
  62317. }
  62318. // SetDryRun sets the DryRun field's value.
  62319. func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
  62320. s.DryRun = &v
  62321. return s
  62322. }
  62323. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  62324. func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
  62325. s.TransitGatewayAttachmentId = &v
  62326. return s
  62327. }
  62328. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  62329. func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
  62330. s.TransitGatewayRouteTableId = &v
  62331. return s
  62332. }
  62333. type ReplaceTransitGatewayRouteOutput struct {
  62334. _ struct{} `type:"structure"`
  62335. // Information about the modified route.
  62336. Route *TransitGatewayRoute `locationName:"route" type:"structure"`
  62337. }
  62338. // String returns the string representation
  62339. func (s ReplaceTransitGatewayRouteOutput) String() string {
  62340. return awsutil.Prettify(s)
  62341. }
  62342. // GoString returns the string representation
  62343. func (s ReplaceTransitGatewayRouteOutput) GoString() string {
  62344. return s.String()
  62345. }
  62346. // SetRoute sets the Route field's value.
  62347. func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
  62348. s.Route = v
  62349. return s
  62350. }
  62351. type ReportInstanceStatusInput struct {
  62352. _ struct{} `type:"structure"`
  62353. // Descriptive text about the health state of your instance.
  62354. Description *string `locationName:"description" type:"string"`
  62355. // Checks whether you have the required permissions for the action, without
  62356. // actually making the request, and provides an error response. If you have
  62357. // the required permissions, the error response is DryRunOperation. Otherwise,
  62358. // it is UnauthorizedOperation.
  62359. DryRun *bool `locationName:"dryRun" type:"boolean"`
  62360. // The time at which the reported instance health state ended.
  62361. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  62362. // One or more instances.
  62363. //
  62364. // Instances is a required field
  62365. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  62366. // One or more reason codes that describe the health state of your instance.
  62367. //
  62368. // * instance-stuck-in-state: My instance is stuck in a state.
  62369. //
  62370. // * unresponsive: My instance is unresponsive.
  62371. //
  62372. // * not-accepting-credentials: My instance is not accepting my credentials.
  62373. //
  62374. // * password-not-available: A password is not available for my instance.
  62375. //
  62376. // * performance-network: My instance is experiencing performance problems
  62377. // that I believe are network related.
  62378. //
  62379. // * performance-instance-store: My instance is experiencing performance
  62380. // problems that I believe are related to the instance stores.
  62381. //
  62382. // * performance-ebs-volume: My instance is experiencing performance problems
  62383. // that I believe are related to an EBS volume.
  62384. //
  62385. // * performance-other: My instance is experiencing performance problems.
  62386. //
  62387. // * other: [explain using the description parameter]
  62388. //
  62389. // ReasonCodes is a required field
  62390. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  62391. // The time at which the reported instance health state began.
  62392. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  62393. // The status of all instances listed.
  62394. //
  62395. // Status is a required field
  62396. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  62397. }
  62398. // String returns the string representation
  62399. func (s ReportInstanceStatusInput) String() string {
  62400. return awsutil.Prettify(s)
  62401. }
  62402. // GoString returns the string representation
  62403. func (s ReportInstanceStatusInput) GoString() string {
  62404. return s.String()
  62405. }
  62406. // Validate inspects the fields of the type to determine if they are valid.
  62407. func (s *ReportInstanceStatusInput) Validate() error {
  62408. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  62409. if s.Instances == nil {
  62410. invalidParams.Add(request.NewErrParamRequired("Instances"))
  62411. }
  62412. if s.ReasonCodes == nil {
  62413. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  62414. }
  62415. if s.Status == nil {
  62416. invalidParams.Add(request.NewErrParamRequired("Status"))
  62417. }
  62418. if invalidParams.Len() > 0 {
  62419. return invalidParams
  62420. }
  62421. return nil
  62422. }
  62423. // SetDescription sets the Description field's value.
  62424. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  62425. s.Description = &v
  62426. return s
  62427. }
  62428. // SetDryRun sets the DryRun field's value.
  62429. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  62430. s.DryRun = &v
  62431. return s
  62432. }
  62433. // SetEndTime sets the EndTime field's value.
  62434. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  62435. s.EndTime = &v
  62436. return s
  62437. }
  62438. // SetInstances sets the Instances field's value.
  62439. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  62440. s.Instances = v
  62441. return s
  62442. }
  62443. // SetReasonCodes sets the ReasonCodes field's value.
  62444. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  62445. s.ReasonCodes = v
  62446. return s
  62447. }
  62448. // SetStartTime sets the StartTime field's value.
  62449. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  62450. s.StartTime = &v
  62451. return s
  62452. }
  62453. // SetStatus sets the Status field's value.
  62454. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  62455. s.Status = &v
  62456. return s
  62457. }
  62458. type ReportInstanceStatusOutput struct {
  62459. _ struct{} `type:"structure"`
  62460. }
  62461. // String returns the string representation
  62462. func (s ReportInstanceStatusOutput) String() string {
  62463. return awsutil.Prettify(s)
  62464. }
  62465. // GoString returns the string representation
  62466. func (s ReportInstanceStatusOutput) GoString() string {
  62467. return s.String()
  62468. }
  62469. // The information to include in the launch template.
  62470. type RequestLaunchTemplateData struct {
  62471. _ struct{} `type:"structure"`
  62472. // The block device mapping.
  62473. //
  62474. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  62475. // mapping results in an error. This is because only blank volumes can be encrypted
  62476. // on start, and these are not created from a snapshot. If a snapshot is the
  62477. // basis for the volume, it contains data by definition and its encryption status
  62478. // cannot be changed using this action.
  62479. BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  62480. // The Capacity Reservation targeting option. If you do not specify this parameter,
  62481. // the instance's Capacity Reservation preference defaults to open, which enables
  62482. // it to run in any open Capacity Reservation that has matching attributes (instance
  62483. // type, platform, Availability Zone).
  62484. CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
  62485. // The CPU options for the instance. For more information, see Optimizing CPU
  62486. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  62487. // in the Amazon Elastic Compute Cloud User Guide.
  62488. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
  62489. // The credit option for CPU usage of the instance. Valid for T2 or T3 instances
  62490. // only.
  62491. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  62492. // If set to true, you can't terminate the instance using the Amazon EC2 console,
  62493. // CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.
  62494. DisableApiTermination *bool `type:"boolean"`
  62495. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  62496. // provides dedicated throughput to Amazon EBS and an optimized configuration
  62497. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  62498. // available with all instance types. Additional usage charges apply when using
  62499. // an EBS-optimized instance.
  62500. EbsOptimized *bool `type:"boolean"`
  62501. // An elastic GPU to associate with the instance.
  62502. ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
  62503. // The elastic inference accelerator for the instance.
  62504. ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
  62505. // Indicates whether an instance is enabled for hibernation. This parameter
  62506. // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
  62507. // Hibernation is currently supported only for Amazon Linux. For more information,
  62508. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  62509. // in the Amazon Elastic Compute Cloud User Guide.
  62510. HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
  62511. // The IAM instance profile.
  62512. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
  62513. // The ID of the AMI, which you can get by using DescribeImages.
  62514. ImageId *string `type:"string"`
  62515. // Indicates whether an instance stops or terminates when you initiate shutdown
  62516. // from the instance (using the operating system command for system shutdown).
  62517. //
  62518. // Default: stop
  62519. InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
  62520. // The market (purchasing) option for the instances.
  62521. InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
  62522. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  62523. // in the Amazon Elastic Compute Cloud User Guide.
  62524. InstanceType *string `type:"string" enum:"InstanceType"`
  62525. // The ID of the kernel.
  62526. //
  62527. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  62528. // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  62529. // in the Amazon Elastic Compute Cloud User Guide.
  62530. KernelId *string `type:"string"`
  62531. // The name of the key pair. You can create a key pair using CreateKeyPair or
  62532. // ImportKeyPair.
  62533. //
  62534. // If you do not specify a key pair, you can't connect to the instance unless
  62535. // you choose an AMI that is configured to allow users another way to log in.
  62536. KeyName *string `type:"string"`
  62537. // The license configurations.
  62538. LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
  62539. // The monitoring for the instance.
  62540. Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
  62541. // One or more network interfaces.
  62542. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
  62543. // The placement for the instance.
  62544. Placement *LaunchTemplatePlacementRequest `type:"structure"`
  62545. // The ID of the RAM disk.
  62546. //
  62547. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  62548. // information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  62549. // in the Amazon Elastic Compute Cloud User Guide.
  62550. RamDiskId *string `type:"string"`
  62551. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  62552. // You cannot specify both a security group ID and security name in the same
  62553. // request.
  62554. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  62555. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  62556. // VPC, you must use security group IDs instead. You cannot specify both a security
  62557. // group ID and security name in the same request.
  62558. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  62559. // The tags to apply to the resources during launch. You can only tag instances
  62560. // and volumes on launch. The specified tags are applied to all instances or
  62561. // volumes that are created during launch. To tag a resource after it has been
  62562. // created, see CreateTags.
  62563. TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
  62564. // The Base64-encoded user data to make available to the instance. For more
  62565. // information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  62566. // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  62567. // (Windows).
  62568. UserData *string `type:"string"`
  62569. }
  62570. // String returns the string representation
  62571. func (s RequestLaunchTemplateData) String() string {
  62572. return awsutil.Prettify(s)
  62573. }
  62574. // GoString returns the string representation
  62575. func (s RequestLaunchTemplateData) GoString() string {
  62576. return s.String()
  62577. }
  62578. // Validate inspects the fields of the type to determine if they are valid.
  62579. func (s *RequestLaunchTemplateData) Validate() error {
  62580. invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
  62581. if s.CreditSpecification != nil {
  62582. if err := s.CreditSpecification.Validate(); err != nil {
  62583. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  62584. }
  62585. }
  62586. if s.ElasticGpuSpecifications != nil {
  62587. for i, v := range s.ElasticGpuSpecifications {
  62588. if v == nil {
  62589. continue
  62590. }
  62591. if err := v.Validate(); err != nil {
  62592. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
  62593. }
  62594. }
  62595. }
  62596. if s.ElasticInferenceAccelerators != nil {
  62597. for i, v := range s.ElasticInferenceAccelerators {
  62598. if v == nil {
  62599. continue
  62600. }
  62601. if err := v.Validate(); err != nil {
  62602. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
  62603. }
  62604. }
  62605. }
  62606. if invalidParams.Len() > 0 {
  62607. return invalidParams
  62608. }
  62609. return nil
  62610. }
  62611. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  62612. func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
  62613. s.BlockDeviceMappings = v
  62614. return s
  62615. }
  62616. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  62617. func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
  62618. s.CapacityReservationSpecification = v
  62619. return s
  62620. }
  62621. // SetCpuOptions sets the CpuOptions field's value.
  62622. func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
  62623. s.CpuOptions = v
  62624. return s
  62625. }
  62626. // SetCreditSpecification sets the CreditSpecification field's value.
  62627. func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
  62628. s.CreditSpecification = v
  62629. return s
  62630. }
  62631. // SetDisableApiTermination sets the DisableApiTermination field's value.
  62632. func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
  62633. s.DisableApiTermination = &v
  62634. return s
  62635. }
  62636. // SetEbsOptimized sets the EbsOptimized field's value.
  62637. func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
  62638. s.EbsOptimized = &v
  62639. return s
  62640. }
  62641. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  62642. func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
  62643. s.ElasticGpuSpecifications = v
  62644. return s
  62645. }
  62646. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  62647. func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
  62648. s.ElasticInferenceAccelerators = v
  62649. return s
  62650. }
  62651. // SetHibernationOptions sets the HibernationOptions field's value.
  62652. func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
  62653. s.HibernationOptions = v
  62654. return s
  62655. }
  62656. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  62657. func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
  62658. s.IamInstanceProfile = v
  62659. return s
  62660. }
  62661. // SetImageId sets the ImageId field's value.
  62662. func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
  62663. s.ImageId = &v
  62664. return s
  62665. }
  62666. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  62667. func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
  62668. s.InstanceInitiatedShutdownBehavior = &v
  62669. return s
  62670. }
  62671. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  62672. func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
  62673. s.InstanceMarketOptions = v
  62674. return s
  62675. }
  62676. // SetInstanceType sets the InstanceType field's value.
  62677. func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
  62678. s.InstanceType = &v
  62679. return s
  62680. }
  62681. // SetKernelId sets the KernelId field's value.
  62682. func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
  62683. s.KernelId = &v
  62684. return s
  62685. }
  62686. // SetKeyName sets the KeyName field's value.
  62687. func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
  62688. s.KeyName = &v
  62689. return s
  62690. }
  62691. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  62692. func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
  62693. s.LicenseSpecifications = v
  62694. return s
  62695. }
  62696. // SetMonitoring sets the Monitoring field's value.
  62697. func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
  62698. s.Monitoring = v
  62699. return s
  62700. }
  62701. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  62702. func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
  62703. s.NetworkInterfaces = v
  62704. return s
  62705. }
  62706. // SetPlacement sets the Placement field's value.
  62707. func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
  62708. s.Placement = v
  62709. return s
  62710. }
  62711. // SetRamDiskId sets the RamDiskId field's value.
  62712. func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
  62713. s.RamDiskId = &v
  62714. return s
  62715. }
  62716. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  62717. func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
  62718. s.SecurityGroupIds = v
  62719. return s
  62720. }
  62721. // SetSecurityGroups sets the SecurityGroups field's value.
  62722. func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
  62723. s.SecurityGroups = v
  62724. return s
  62725. }
  62726. // SetTagSpecifications sets the TagSpecifications field's value.
  62727. func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
  62728. s.TagSpecifications = v
  62729. return s
  62730. }
  62731. // SetUserData sets the UserData field's value.
  62732. func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
  62733. s.UserData = &v
  62734. return s
  62735. }
  62736. // Contains the parameters for RequestSpotFleet.
  62737. type RequestSpotFleetInput struct {
  62738. _ struct{} `type:"structure"`
  62739. // Checks whether you have the required permissions for the action, without
  62740. // actually making the request, and provides an error response. If you have
  62741. // the required permissions, the error response is DryRunOperation. Otherwise,
  62742. // it is UnauthorizedOperation.
  62743. DryRun *bool `locationName:"dryRun" type:"boolean"`
  62744. // The configuration for the Spot Fleet request.
  62745. //
  62746. // SpotFleetRequestConfig is a required field
  62747. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  62748. }
  62749. // String returns the string representation
  62750. func (s RequestSpotFleetInput) String() string {
  62751. return awsutil.Prettify(s)
  62752. }
  62753. // GoString returns the string representation
  62754. func (s RequestSpotFleetInput) GoString() string {
  62755. return s.String()
  62756. }
  62757. // Validate inspects the fields of the type to determine if they are valid.
  62758. func (s *RequestSpotFleetInput) Validate() error {
  62759. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  62760. if s.SpotFleetRequestConfig == nil {
  62761. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  62762. }
  62763. if s.SpotFleetRequestConfig != nil {
  62764. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  62765. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  62766. }
  62767. }
  62768. if invalidParams.Len() > 0 {
  62769. return invalidParams
  62770. }
  62771. return nil
  62772. }
  62773. // SetDryRun sets the DryRun field's value.
  62774. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  62775. s.DryRun = &v
  62776. return s
  62777. }
  62778. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  62779. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  62780. s.SpotFleetRequestConfig = v
  62781. return s
  62782. }
  62783. // Contains the output of RequestSpotFleet.
  62784. type RequestSpotFleetOutput struct {
  62785. _ struct{} `type:"structure"`
  62786. // The ID of the Spot Fleet request.
  62787. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  62788. }
  62789. // String returns the string representation
  62790. func (s RequestSpotFleetOutput) String() string {
  62791. return awsutil.Prettify(s)
  62792. }
  62793. // GoString returns the string representation
  62794. func (s RequestSpotFleetOutput) GoString() string {
  62795. return s.String()
  62796. }
  62797. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  62798. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  62799. s.SpotFleetRequestId = &v
  62800. return s
  62801. }
  62802. // Contains the parameters for RequestSpotInstances.
  62803. type RequestSpotInstancesInput struct {
  62804. _ struct{} `type:"structure"`
  62805. // The user-specified name for a logical grouping of requests.
  62806. //
  62807. // When you specify an Availability Zone group in a Spot Instance request, all
  62808. // Spot Instances in the request are launched in the same Availability Zone.
  62809. // Instance proximity is maintained with this parameter, but the choice of Availability
  62810. // Zone is not. The group applies only to requests for Spot Instances of the
  62811. // same instance type. Any additional Spot Instance requests that are specified
  62812. // with the same Availability Zone group name are launched in that same Availability
  62813. // Zone, as long as at least one instance from the group is still active.
  62814. //
  62815. // If there is no active instance running in the Availability Zone group that
  62816. // you specify for a new Spot Instance request (all instances are terminated,
  62817. // the request is expired, or the maximum price you specified falls below current
  62818. // Spot price), then Amazon EC2 launches the instance in any Availability Zone
  62819. // where the constraint can be met. Consequently, the subsequent set of Spot
  62820. // Instances could be placed in a different zone from the original request,
  62821. // even if you specified the same Availability Zone group.
  62822. //
  62823. // Default: Instances are launched in any available Availability Zone.
  62824. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  62825. // The required duration for the Spot Instances (also known as Spot blocks),
  62826. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  62827. // or 360).
  62828. //
  62829. // The duration period starts as soon as your Spot Instance receives its instance
  62830. // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
  62831. // for termination and provides a Spot Instance termination notice, which gives
  62832. // the instance a two-minute warning before it terminates.
  62833. //
  62834. // You can't specify an Availability Zone group or a launch group if you specify
  62835. // a duration.
  62836. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  62837. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  62838. // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  62839. // in the Amazon EC2 User Guide for Linux Instances.
  62840. ClientToken *string `locationName:"clientToken" type:"string"`
  62841. // Checks whether you have the required permissions for the action, without
  62842. // actually making the request, and provides an error response. If you have
  62843. // the required permissions, the error response is DryRunOperation. Otherwise,
  62844. // it is UnauthorizedOperation.
  62845. DryRun *bool `locationName:"dryRun" type:"boolean"`
  62846. // The maximum number of Spot Instances to launch.
  62847. //
  62848. // Default: 1
  62849. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  62850. // The behavior when a Spot Instance is interrupted. The default is terminate.
  62851. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  62852. // The instance launch group. Launch groups are Spot Instances that launch together
  62853. // and terminate together.
  62854. //
  62855. // Default: Instances are launched and terminated individually
  62856. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  62857. // The launch specification.
  62858. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  62859. // The maximum price per hour that you are willing to pay for a Spot Instance.
  62860. // The default is the On-Demand price.
  62861. SpotPrice *string `locationName:"spotPrice" type:"string"`
  62862. // The Spot Instance request type.
  62863. //
  62864. // Default: one-time
  62865. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  62866. // The start date of the request. If this is a one-time request, the request
  62867. // becomes active at this date and time and remains active until all instances
  62868. // launch, the request expires, or the request is canceled. If the request is
  62869. // persistent, the request becomes active at this date and time and remains
  62870. // active until it expires or is canceled.
  62871. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  62872. // The end date of the request. If this is a one-time request, the request remains
  62873. // active until all instances launch, the request is canceled, or this date
  62874. // is reached. If the request is persistent, it remains active until it is canceled
  62875. // or this date is reached. The default end date is 7 days from the current
  62876. // date.
  62877. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  62878. }
  62879. // String returns the string representation
  62880. func (s RequestSpotInstancesInput) String() string {
  62881. return awsutil.Prettify(s)
  62882. }
  62883. // GoString returns the string representation
  62884. func (s RequestSpotInstancesInput) GoString() string {
  62885. return s.String()
  62886. }
  62887. // Validate inspects the fields of the type to determine if they are valid.
  62888. func (s *RequestSpotInstancesInput) Validate() error {
  62889. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  62890. if s.LaunchSpecification != nil {
  62891. if err := s.LaunchSpecification.Validate(); err != nil {
  62892. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  62893. }
  62894. }
  62895. if invalidParams.Len() > 0 {
  62896. return invalidParams
  62897. }
  62898. return nil
  62899. }
  62900. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  62901. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  62902. s.AvailabilityZoneGroup = &v
  62903. return s
  62904. }
  62905. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  62906. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  62907. s.BlockDurationMinutes = &v
  62908. return s
  62909. }
  62910. // SetClientToken sets the ClientToken field's value.
  62911. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  62912. s.ClientToken = &v
  62913. return s
  62914. }
  62915. // SetDryRun sets the DryRun field's value.
  62916. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  62917. s.DryRun = &v
  62918. return s
  62919. }
  62920. // SetInstanceCount sets the InstanceCount field's value.
  62921. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  62922. s.InstanceCount = &v
  62923. return s
  62924. }
  62925. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  62926. func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
  62927. s.InstanceInterruptionBehavior = &v
  62928. return s
  62929. }
  62930. // SetLaunchGroup sets the LaunchGroup field's value.
  62931. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  62932. s.LaunchGroup = &v
  62933. return s
  62934. }
  62935. // SetLaunchSpecification sets the LaunchSpecification field's value.
  62936. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  62937. s.LaunchSpecification = v
  62938. return s
  62939. }
  62940. // SetSpotPrice sets the SpotPrice field's value.
  62941. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  62942. s.SpotPrice = &v
  62943. return s
  62944. }
  62945. // SetType sets the Type field's value.
  62946. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  62947. s.Type = &v
  62948. return s
  62949. }
  62950. // SetValidFrom sets the ValidFrom field's value.
  62951. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  62952. s.ValidFrom = &v
  62953. return s
  62954. }
  62955. // SetValidUntil sets the ValidUntil field's value.
  62956. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  62957. s.ValidUntil = &v
  62958. return s
  62959. }
  62960. // Contains the output of RequestSpotInstances.
  62961. type RequestSpotInstancesOutput struct {
  62962. _ struct{} `type:"structure"`
  62963. // One or more Spot Instance requests.
  62964. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  62965. }
  62966. // String returns the string representation
  62967. func (s RequestSpotInstancesOutput) String() string {
  62968. return awsutil.Prettify(s)
  62969. }
  62970. // GoString returns the string representation
  62971. func (s RequestSpotInstancesOutput) GoString() string {
  62972. return s.String()
  62973. }
  62974. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  62975. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  62976. s.SpotInstanceRequests = v
  62977. return s
  62978. }
  62979. // Describes the launch specification for an instance.
  62980. type RequestSpotLaunchSpecification struct {
  62981. _ struct{} `type:"structure"`
  62982. // Deprecated.
  62983. AddressingType *string `locationName:"addressingType" type:"string"`
  62984. // One or more block device mapping entries. You can't specify both a snapshot
  62985. // ID and an encryption value. This is because only blank volumes can be encrypted
  62986. // on creation. If a snapshot is the basis for a volume, it is not blank and
  62987. // its encryption status is used for the volume encryption status.
  62988. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  62989. // Indicates whether the instance is optimized for EBS I/O. This optimization
  62990. // provides dedicated throughput to Amazon EBS and an optimized configuration
  62991. // stack to provide optimal EBS I/O performance. This optimization isn't available
  62992. // with all instance types. Additional usage charges apply when using an EBS
  62993. // Optimized instance.
  62994. //
  62995. // Default: false
  62996. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  62997. // The IAM instance profile.
  62998. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  62999. // The ID of the AMI.
  63000. ImageId *string `locationName:"imageId" type:"string"`
  63001. // The instance type.
  63002. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  63003. // The ID of the kernel.
  63004. KernelId *string `locationName:"kernelId" type:"string"`
  63005. // The name of the key pair.
  63006. KeyName *string `locationName:"keyName" type:"string"`
  63007. // Indicates whether basic or detailed monitoring is enabled for the instance.
  63008. //
  63009. // Default: Disabled
  63010. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  63011. // One or more network interfaces. If you specify a network interface, you must
  63012. // specify subnet IDs and security group IDs using the network interface.
  63013. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  63014. // The placement information for the instance.
  63015. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  63016. // The ID of the RAM disk.
  63017. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  63018. // One or more security group IDs.
  63019. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  63020. // One or more security groups. When requesting instances in a VPC, you must
  63021. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  63022. // you can specify the names or the IDs of the security groups.
  63023. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  63024. // The ID of the subnet in which to launch the instance.
  63025. SubnetId *string `locationName:"subnetId" type:"string"`
  63026. // The Base64-encoded user data for the instance.
  63027. UserData *string `locationName:"userData" type:"string"`
  63028. }
  63029. // String returns the string representation
  63030. func (s RequestSpotLaunchSpecification) String() string {
  63031. return awsutil.Prettify(s)
  63032. }
  63033. // GoString returns the string representation
  63034. func (s RequestSpotLaunchSpecification) GoString() string {
  63035. return s.String()
  63036. }
  63037. // Validate inspects the fields of the type to determine if they are valid.
  63038. func (s *RequestSpotLaunchSpecification) Validate() error {
  63039. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  63040. if s.Monitoring != nil {
  63041. if err := s.Monitoring.Validate(); err != nil {
  63042. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  63043. }
  63044. }
  63045. if invalidParams.Len() > 0 {
  63046. return invalidParams
  63047. }
  63048. return nil
  63049. }
  63050. // SetAddressingType sets the AddressingType field's value.
  63051. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  63052. s.AddressingType = &v
  63053. return s
  63054. }
  63055. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  63056. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  63057. s.BlockDeviceMappings = v
  63058. return s
  63059. }
  63060. // SetEbsOptimized sets the EbsOptimized field's value.
  63061. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  63062. s.EbsOptimized = &v
  63063. return s
  63064. }
  63065. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  63066. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  63067. s.IamInstanceProfile = v
  63068. return s
  63069. }
  63070. // SetImageId sets the ImageId field's value.
  63071. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  63072. s.ImageId = &v
  63073. return s
  63074. }
  63075. // SetInstanceType sets the InstanceType field's value.
  63076. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  63077. s.InstanceType = &v
  63078. return s
  63079. }
  63080. // SetKernelId sets the KernelId field's value.
  63081. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  63082. s.KernelId = &v
  63083. return s
  63084. }
  63085. // SetKeyName sets the KeyName field's value.
  63086. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  63087. s.KeyName = &v
  63088. return s
  63089. }
  63090. // SetMonitoring sets the Monitoring field's value.
  63091. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  63092. s.Monitoring = v
  63093. return s
  63094. }
  63095. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  63096. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  63097. s.NetworkInterfaces = v
  63098. return s
  63099. }
  63100. // SetPlacement sets the Placement field's value.
  63101. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  63102. s.Placement = v
  63103. return s
  63104. }
  63105. // SetRamdiskId sets the RamdiskId field's value.
  63106. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  63107. s.RamdiskId = &v
  63108. return s
  63109. }
  63110. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  63111. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  63112. s.SecurityGroupIds = v
  63113. return s
  63114. }
  63115. // SetSecurityGroups sets the SecurityGroups field's value.
  63116. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  63117. s.SecurityGroups = v
  63118. return s
  63119. }
  63120. // SetSubnetId sets the SubnetId field's value.
  63121. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  63122. s.SubnetId = &v
  63123. return s
  63124. }
  63125. // SetUserData sets the UserData field's value.
  63126. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  63127. s.UserData = &v
  63128. return s
  63129. }
  63130. // Describes a reservation.
  63131. type Reservation struct {
  63132. _ struct{} `type:"structure"`
  63133. // [EC2-Classic only] One or more security groups.
  63134. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  63135. // One or more instances.
  63136. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  63137. // The ID of the AWS account that owns the reservation.
  63138. OwnerId *string `locationName:"ownerId" type:"string"`
  63139. // The ID of the requester that launched the instances on your behalf (for example,
  63140. // AWS Management Console or Auto Scaling).
  63141. RequesterId *string `locationName:"requesterId" type:"string"`
  63142. // The ID of the reservation.
  63143. ReservationId *string `locationName:"reservationId" type:"string"`
  63144. }
  63145. // String returns the string representation
  63146. func (s Reservation) String() string {
  63147. return awsutil.Prettify(s)
  63148. }
  63149. // GoString returns the string representation
  63150. func (s Reservation) GoString() string {
  63151. return s.String()
  63152. }
  63153. // SetGroups sets the Groups field's value.
  63154. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  63155. s.Groups = v
  63156. return s
  63157. }
  63158. // SetInstances sets the Instances field's value.
  63159. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  63160. s.Instances = v
  63161. return s
  63162. }
  63163. // SetOwnerId sets the OwnerId field's value.
  63164. func (s *Reservation) SetOwnerId(v string) *Reservation {
  63165. s.OwnerId = &v
  63166. return s
  63167. }
  63168. // SetRequesterId sets the RequesterId field's value.
  63169. func (s *Reservation) SetRequesterId(v string) *Reservation {
  63170. s.RequesterId = &v
  63171. return s
  63172. }
  63173. // SetReservationId sets the ReservationId field's value.
  63174. func (s *Reservation) SetReservationId(v string) *Reservation {
  63175. s.ReservationId = &v
  63176. return s
  63177. }
  63178. // The cost associated with the Reserved Instance.
  63179. type ReservationValue struct {
  63180. _ struct{} `type:"structure"`
  63181. // The hourly rate of the reservation.
  63182. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  63183. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  63184. // * number of hours remaining).
  63185. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  63186. // The remaining upfront cost of the reservation.
  63187. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  63188. }
  63189. // String returns the string representation
  63190. func (s ReservationValue) String() string {
  63191. return awsutil.Prettify(s)
  63192. }
  63193. // GoString returns the string representation
  63194. func (s ReservationValue) GoString() string {
  63195. return s.String()
  63196. }
  63197. // SetHourlyPrice sets the HourlyPrice field's value.
  63198. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  63199. s.HourlyPrice = &v
  63200. return s
  63201. }
  63202. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  63203. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  63204. s.RemainingTotalValue = &v
  63205. return s
  63206. }
  63207. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  63208. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  63209. s.RemainingUpfrontValue = &v
  63210. return s
  63211. }
  63212. // Describes the limit price of a Reserved Instance offering.
  63213. type ReservedInstanceLimitPrice struct {
  63214. _ struct{} `type:"structure"`
  63215. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  63216. // on the total order (instanceCount * price).
  63217. Amount *float64 `locationName:"amount" type:"double"`
  63218. // The currency in which the limitPrice amount is specified. At this time, the
  63219. // only supported currency is USD.
  63220. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  63221. }
  63222. // String returns the string representation
  63223. func (s ReservedInstanceLimitPrice) String() string {
  63224. return awsutil.Prettify(s)
  63225. }
  63226. // GoString returns the string representation
  63227. func (s ReservedInstanceLimitPrice) GoString() string {
  63228. return s.String()
  63229. }
  63230. // SetAmount sets the Amount field's value.
  63231. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  63232. s.Amount = &v
  63233. return s
  63234. }
  63235. // SetCurrencyCode sets the CurrencyCode field's value.
  63236. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  63237. s.CurrencyCode = &v
  63238. return s
  63239. }
  63240. // The total value of the Convertible Reserved Instance.
  63241. type ReservedInstanceReservationValue struct {
  63242. _ struct{} `type:"structure"`
  63243. // The total value of the Convertible Reserved Instance that you are exchanging.
  63244. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  63245. // The ID of the Convertible Reserved Instance that you are exchanging.
  63246. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  63247. }
  63248. // String returns the string representation
  63249. func (s ReservedInstanceReservationValue) String() string {
  63250. return awsutil.Prettify(s)
  63251. }
  63252. // GoString returns the string representation
  63253. func (s ReservedInstanceReservationValue) GoString() string {
  63254. return s.String()
  63255. }
  63256. // SetReservationValue sets the ReservationValue field's value.
  63257. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  63258. s.ReservationValue = v
  63259. return s
  63260. }
  63261. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  63262. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  63263. s.ReservedInstanceId = &v
  63264. return s
  63265. }
  63266. // Describes a Reserved Instance.
  63267. type ReservedInstances struct {
  63268. _ struct{} `type:"structure"`
  63269. // The Availability Zone in which the Reserved Instance can be used.
  63270. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  63271. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  63272. // currency codes. At this time, the only supported currency is USD.
  63273. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  63274. // The duration of the Reserved Instance, in seconds.
  63275. Duration *int64 `locationName:"duration" type:"long"`
  63276. // The time when the Reserved Instance expires.
  63277. End *time.Time `locationName:"end" type:"timestamp"`
  63278. // The purchase price of the Reserved Instance.
  63279. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  63280. // The number of reservations purchased.
  63281. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  63282. // The tenancy of the instance.
  63283. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  63284. // The instance type on which the Reserved Instance can be used.
  63285. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  63286. // The offering class of the Reserved Instance.
  63287. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  63288. // The Reserved Instance offering type.
  63289. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  63290. // The Reserved Instance product platform description.
  63291. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  63292. // The recurring charge tag assigned to the resource.
  63293. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  63294. // The ID of the Reserved Instance.
  63295. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  63296. // The scope of the Reserved Instance.
  63297. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  63298. // The date and time the Reserved Instance started.
  63299. Start *time.Time `locationName:"start" type:"timestamp"`
  63300. // The state of the Reserved Instance purchase.
  63301. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  63302. // Any tags assigned to the resource.
  63303. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  63304. // The usage price of the Reserved Instance, per hour.
  63305. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  63306. }
  63307. // String returns the string representation
  63308. func (s ReservedInstances) String() string {
  63309. return awsutil.Prettify(s)
  63310. }
  63311. // GoString returns the string representation
  63312. func (s ReservedInstances) GoString() string {
  63313. return s.String()
  63314. }
  63315. // SetAvailabilityZone sets the AvailabilityZone field's value.
  63316. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  63317. s.AvailabilityZone = &v
  63318. return s
  63319. }
  63320. // SetCurrencyCode sets the CurrencyCode field's value.
  63321. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  63322. s.CurrencyCode = &v
  63323. return s
  63324. }
  63325. // SetDuration sets the Duration field's value.
  63326. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  63327. s.Duration = &v
  63328. return s
  63329. }
  63330. // SetEnd sets the End field's value.
  63331. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  63332. s.End = &v
  63333. return s
  63334. }
  63335. // SetFixedPrice sets the FixedPrice field's value.
  63336. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  63337. s.FixedPrice = &v
  63338. return s
  63339. }
  63340. // SetInstanceCount sets the InstanceCount field's value.
  63341. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  63342. s.InstanceCount = &v
  63343. return s
  63344. }
  63345. // SetInstanceTenancy sets the InstanceTenancy field's value.
  63346. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  63347. s.InstanceTenancy = &v
  63348. return s
  63349. }
  63350. // SetInstanceType sets the InstanceType field's value.
  63351. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  63352. s.InstanceType = &v
  63353. return s
  63354. }
  63355. // SetOfferingClass sets the OfferingClass field's value.
  63356. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  63357. s.OfferingClass = &v
  63358. return s
  63359. }
  63360. // SetOfferingType sets the OfferingType field's value.
  63361. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  63362. s.OfferingType = &v
  63363. return s
  63364. }
  63365. // SetProductDescription sets the ProductDescription field's value.
  63366. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  63367. s.ProductDescription = &v
  63368. return s
  63369. }
  63370. // SetRecurringCharges sets the RecurringCharges field's value.
  63371. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  63372. s.RecurringCharges = v
  63373. return s
  63374. }
  63375. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  63376. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  63377. s.ReservedInstancesId = &v
  63378. return s
  63379. }
  63380. // SetScope sets the Scope field's value.
  63381. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  63382. s.Scope = &v
  63383. return s
  63384. }
  63385. // SetStart sets the Start field's value.
  63386. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  63387. s.Start = &v
  63388. return s
  63389. }
  63390. // SetState sets the State field's value.
  63391. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  63392. s.State = &v
  63393. return s
  63394. }
  63395. // SetTags sets the Tags field's value.
  63396. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  63397. s.Tags = v
  63398. return s
  63399. }
  63400. // SetUsagePrice sets the UsagePrice field's value.
  63401. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  63402. s.UsagePrice = &v
  63403. return s
  63404. }
  63405. // Describes the configuration settings for the modified Reserved Instances.
  63406. type ReservedInstancesConfiguration struct {
  63407. _ struct{} `type:"structure"`
  63408. // The Availability Zone for the modified Reserved Instances.
  63409. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  63410. // The number of modified Reserved Instances.
  63411. //
  63412. // This is a required field for a request.
  63413. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  63414. // The instance type for the modified Reserved Instances.
  63415. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  63416. // The network platform of the modified Reserved Instances, which is either
  63417. // EC2-Classic or EC2-VPC.
  63418. Platform *string `locationName:"platform" type:"string"`
  63419. // Whether the Reserved Instance is applied to instances in a region or instances
  63420. // in a specific Availability Zone.
  63421. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  63422. }
  63423. // String returns the string representation
  63424. func (s ReservedInstancesConfiguration) String() string {
  63425. return awsutil.Prettify(s)
  63426. }
  63427. // GoString returns the string representation
  63428. func (s ReservedInstancesConfiguration) GoString() string {
  63429. return s.String()
  63430. }
  63431. // SetAvailabilityZone sets the AvailabilityZone field's value.
  63432. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  63433. s.AvailabilityZone = &v
  63434. return s
  63435. }
  63436. // SetInstanceCount sets the InstanceCount field's value.
  63437. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  63438. s.InstanceCount = &v
  63439. return s
  63440. }
  63441. // SetInstanceType sets the InstanceType field's value.
  63442. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  63443. s.InstanceType = &v
  63444. return s
  63445. }
  63446. // SetPlatform sets the Platform field's value.
  63447. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  63448. s.Platform = &v
  63449. return s
  63450. }
  63451. // SetScope sets the Scope field's value.
  63452. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  63453. s.Scope = &v
  63454. return s
  63455. }
  63456. // Describes the ID of a Reserved Instance.
  63457. type ReservedInstancesId struct {
  63458. _ struct{} `type:"structure"`
  63459. // The ID of the Reserved Instance.
  63460. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  63461. }
  63462. // String returns the string representation
  63463. func (s ReservedInstancesId) String() string {
  63464. return awsutil.Prettify(s)
  63465. }
  63466. // GoString returns the string representation
  63467. func (s ReservedInstancesId) GoString() string {
  63468. return s.String()
  63469. }
  63470. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  63471. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  63472. s.ReservedInstancesId = &v
  63473. return s
  63474. }
  63475. // Describes a Reserved Instance listing.
  63476. type ReservedInstancesListing struct {
  63477. _ struct{} `type:"structure"`
  63478. // A unique, case-sensitive key supplied by the client to ensure that the request
  63479. // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  63480. ClientToken *string `locationName:"clientToken" type:"string"`
  63481. // The time the listing was created.
  63482. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  63483. // The number of instances in this state.
  63484. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  63485. // The price of the Reserved Instance listing.
  63486. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  63487. // The ID of the Reserved Instance.
  63488. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  63489. // The ID of the Reserved Instance listing.
  63490. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  63491. // The status of the Reserved Instance listing.
  63492. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  63493. // The reason for the current status of the Reserved Instance listing. The response
  63494. // can be blank.
  63495. StatusMessage *string `locationName:"statusMessage" type:"string"`
  63496. // Any tags assigned to the resource.
  63497. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  63498. // The last modified timestamp of the listing.
  63499. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
  63500. }
  63501. // String returns the string representation
  63502. func (s ReservedInstancesListing) String() string {
  63503. return awsutil.Prettify(s)
  63504. }
  63505. // GoString returns the string representation
  63506. func (s ReservedInstancesListing) GoString() string {
  63507. return s.String()
  63508. }
  63509. // SetClientToken sets the ClientToken field's value.
  63510. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  63511. s.ClientToken = &v
  63512. return s
  63513. }
  63514. // SetCreateDate sets the CreateDate field's value.
  63515. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  63516. s.CreateDate = &v
  63517. return s
  63518. }
  63519. // SetInstanceCounts sets the InstanceCounts field's value.
  63520. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  63521. s.InstanceCounts = v
  63522. return s
  63523. }
  63524. // SetPriceSchedules sets the PriceSchedules field's value.
  63525. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  63526. s.PriceSchedules = v
  63527. return s
  63528. }
  63529. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  63530. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  63531. s.ReservedInstancesId = &v
  63532. return s
  63533. }
  63534. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  63535. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  63536. s.ReservedInstancesListingId = &v
  63537. return s
  63538. }
  63539. // SetStatus sets the Status field's value.
  63540. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  63541. s.Status = &v
  63542. return s
  63543. }
  63544. // SetStatusMessage sets the StatusMessage field's value.
  63545. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  63546. s.StatusMessage = &v
  63547. return s
  63548. }
  63549. // SetTags sets the Tags field's value.
  63550. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  63551. s.Tags = v
  63552. return s
  63553. }
  63554. // SetUpdateDate sets the UpdateDate field's value.
  63555. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  63556. s.UpdateDate = &v
  63557. return s
  63558. }
  63559. // Describes a Reserved Instance modification.
  63560. type ReservedInstancesModification struct {
  63561. _ struct{} `type:"structure"`
  63562. // A unique, case-sensitive key supplied by the client to ensure that the request
  63563. // is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  63564. ClientToken *string `locationName:"clientToken" type:"string"`
  63565. // The time when the modification request was created.
  63566. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  63567. // The time for the modification to become effective.
  63568. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
  63569. // Contains target configurations along with their corresponding new Reserved
  63570. // Instance IDs.
  63571. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  63572. // The IDs of one or more Reserved Instances.
  63573. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  63574. // A unique ID for the Reserved Instance modification.
  63575. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  63576. // The status of the Reserved Instances modification request.
  63577. Status *string `locationName:"status" type:"string"`
  63578. // The reason for the status.
  63579. StatusMessage *string `locationName:"statusMessage" type:"string"`
  63580. // The time when the modification request was last updated.
  63581. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
  63582. }
  63583. // String returns the string representation
  63584. func (s ReservedInstancesModification) String() string {
  63585. return awsutil.Prettify(s)
  63586. }
  63587. // GoString returns the string representation
  63588. func (s ReservedInstancesModification) GoString() string {
  63589. return s.String()
  63590. }
  63591. // SetClientToken sets the ClientToken field's value.
  63592. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  63593. s.ClientToken = &v
  63594. return s
  63595. }
  63596. // SetCreateDate sets the CreateDate field's value.
  63597. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  63598. s.CreateDate = &v
  63599. return s
  63600. }
  63601. // SetEffectiveDate sets the EffectiveDate field's value.
  63602. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  63603. s.EffectiveDate = &v
  63604. return s
  63605. }
  63606. // SetModificationResults sets the ModificationResults field's value.
  63607. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  63608. s.ModificationResults = v
  63609. return s
  63610. }
  63611. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  63612. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  63613. s.ReservedInstancesIds = v
  63614. return s
  63615. }
  63616. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  63617. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  63618. s.ReservedInstancesModificationId = &v
  63619. return s
  63620. }
  63621. // SetStatus sets the Status field's value.
  63622. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  63623. s.Status = &v
  63624. return s
  63625. }
  63626. // SetStatusMessage sets the StatusMessage field's value.
  63627. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  63628. s.StatusMessage = &v
  63629. return s
  63630. }
  63631. // SetUpdateDate sets the UpdateDate field's value.
  63632. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  63633. s.UpdateDate = &v
  63634. return s
  63635. }
  63636. // Describes the modification request/s.
  63637. type ReservedInstancesModificationResult struct {
  63638. _ struct{} `type:"structure"`
  63639. // The ID for the Reserved Instances that were created as part of the modification
  63640. // request. This field is only available when the modification is fulfilled.
  63641. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  63642. // The target Reserved Instances configurations supplied as part of the modification
  63643. // request.
  63644. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  63645. }
  63646. // String returns the string representation
  63647. func (s ReservedInstancesModificationResult) String() string {
  63648. return awsutil.Prettify(s)
  63649. }
  63650. // GoString returns the string representation
  63651. func (s ReservedInstancesModificationResult) GoString() string {
  63652. return s.String()
  63653. }
  63654. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  63655. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  63656. s.ReservedInstancesId = &v
  63657. return s
  63658. }
  63659. // SetTargetConfiguration sets the TargetConfiguration field's value.
  63660. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  63661. s.TargetConfiguration = v
  63662. return s
  63663. }
  63664. // Describes a Reserved Instance offering.
  63665. type ReservedInstancesOffering struct {
  63666. _ struct{} `type:"structure"`
  63667. // The Availability Zone in which the Reserved Instance can be used.
  63668. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  63669. // The currency of the Reserved Instance offering you are purchasing. It's specified
  63670. // using ISO 4217 standard currency codes. At this time, the only supported
  63671. // currency is USD.
  63672. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  63673. // The duration of the Reserved Instance, in seconds.
  63674. Duration *int64 `locationName:"duration" type:"long"`
  63675. // The purchase price of the Reserved Instance.
  63676. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  63677. // The tenancy of the instance.
  63678. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  63679. // The instance type on which the Reserved Instance can be used.
  63680. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  63681. // Indicates whether the offering is available through the Reserved Instance
  63682. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  63683. // this is true.
  63684. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  63685. // If convertible it can be exchanged for Reserved Instances of the same or
  63686. // higher monetary value, with different configurations. If standard, it is
  63687. // not possible to perform an exchange.
  63688. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  63689. // The Reserved Instance offering type.
  63690. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  63691. // The pricing details of the Reserved Instance offering.
  63692. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  63693. // The Reserved Instance product platform description.
  63694. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  63695. // The recurring charge tag assigned to the resource.
  63696. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  63697. // The ID of the Reserved Instance offering. This is the offering ID used in
  63698. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  63699. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  63700. // Whether the Reserved Instance is applied to instances in a region or an Availability
  63701. // Zone.
  63702. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  63703. // The usage price of the Reserved Instance, per hour.
  63704. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  63705. }
  63706. // String returns the string representation
  63707. func (s ReservedInstancesOffering) String() string {
  63708. return awsutil.Prettify(s)
  63709. }
  63710. // GoString returns the string representation
  63711. func (s ReservedInstancesOffering) GoString() string {
  63712. return s.String()
  63713. }
  63714. // SetAvailabilityZone sets the AvailabilityZone field's value.
  63715. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  63716. s.AvailabilityZone = &v
  63717. return s
  63718. }
  63719. // SetCurrencyCode sets the CurrencyCode field's value.
  63720. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  63721. s.CurrencyCode = &v
  63722. return s
  63723. }
  63724. // SetDuration sets the Duration field's value.
  63725. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  63726. s.Duration = &v
  63727. return s
  63728. }
  63729. // SetFixedPrice sets the FixedPrice field's value.
  63730. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  63731. s.FixedPrice = &v
  63732. return s
  63733. }
  63734. // SetInstanceTenancy sets the InstanceTenancy field's value.
  63735. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  63736. s.InstanceTenancy = &v
  63737. return s
  63738. }
  63739. // SetInstanceType sets the InstanceType field's value.
  63740. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  63741. s.InstanceType = &v
  63742. return s
  63743. }
  63744. // SetMarketplace sets the Marketplace field's value.
  63745. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  63746. s.Marketplace = &v
  63747. return s
  63748. }
  63749. // SetOfferingClass sets the OfferingClass field's value.
  63750. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  63751. s.OfferingClass = &v
  63752. return s
  63753. }
  63754. // SetOfferingType sets the OfferingType field's value.
  63755. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  63756. s.OfferingType = &v
  63757. return s
  63758. }
  63759. // SetPricingDetails sets the PricingDetails field's value.
  63760. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  63761. s.PricingDetails = v
  63762. return s
  63763. }
  63764. // SetProductDescription sets the ProductDescription field's value.
  63765. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  63766. s.ProductDescription = &v
  63767. return s
  63768. }
  63769. // SetRecurringCharges sets the RecurringCharges field's value.
  63770. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  63771. s.RecurringCharges = v
  63772. return s
  63773. }
  63774. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  63775. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  63776. s.ReservedInstancesOfferingId = &v
  63777. return s
  63778. }
  63779. // SetScope sets the Scope field's value.
  63780. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  63781. s.Scope = &v
  63782. return s
  63783. }
  63784. // SetUsagePrice sets the UsagePrice field's value.
  63785. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  63786. s.UsagePrice = &v
  63787. return s
  63788. }
  63789. type ResetFpgaImageAttributeInput struct {
  63790. _ struct{} `type:"structure"`
  63791. // The attribute.
  63792. Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
  63793. // Checks whether you have the required permissions for the action, without
  63794. // actually making the request, and provides an error response. If you have
  63795. // the required permissions, the error response is DryRunOperation. Otherwise,
  63796. // it is UnauthorizedOperation.
  63797. DryRun *bool `type:"boolean"`
  63798. // The ID of the AFI.
  63799. //
  63800. // FpgaImageId is a required field
  63801. FpgaImageId *string `type:"string" required:"true"`
  63802. }
  63803. // String returns the string representation
  63804. func (s ResetFpgaImageAttributeInput) String() string {
  63805. return awsutil.Prettify(s)
  63806. }
  63807. // GoString returns the string representation
  63808. func (s ResetFpgaImageAttributeInput) GoString() string {
  63809. return s.String()
  63810. }
  63811. // Validate inspects the fields of the type to determine if they are valid.
  63812. func (s *ResetFpgaImageAttributeInput) Validate() error {
  63813. invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
  63814. if s.FpgaImageId == nil {
  63815. invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
  63816. }
  63817. if invalidParams.Len() > 0 {
  63818. return invalidParams
  63819. }
  63820. return nil
  63821. }
  63822. // SetAttribute sets the Attribute field's value.
  63823. func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
  63824. s.Attribute = &v
  63825. return s
  63826. }
  63827. // SetDryRun sets the DryRun field's value.
  63828. func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
  63829. s.DryRun = &v
  63830. return s
  63831. }
  63832. // SetFpgaImageId sets the FpgaImageId field's value.
  63833. func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
  63834. s.FpgaImageId = &v
  63835. return s
  63836. }
  63837. type ResetFpgaImageAttributeOutput struct {
  63838. _ struct{} `type:"structure"`
  63839. // Is true if the request succeeds, and an error otherwise.
  63840. Return *bool `locationName:"return" type:"boolean"`
  63841. }
  63842. // String returns the string representation
  63843. func (s ResetFpgaImageAttributeOutput) String() string {
  63844. return awsutil.Prettify(s)
  63845. }
  63846. // GoString returns the string representation
  63847. func (s ResetFpgaImageAttributeOutput) GoString() string {
  63848. return s.String()
  63849. }
  63850. // SetReturn sets the Return field's value.
  63851. func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
  63852. s.Return = &v
  63853. return s
  63854. }
  63855. // Contains the parameters for ResetImageAttribute.
  63856. type ResetImageAttributeInput struct {
  63857. _ struct{} `type:"structure"`
  63858. // The attribute to reset (currently you can only reset the launch permission
  63859. // attribute).
  63860. //
  63861. // Attribute is a required field
  63862. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  63863. // Checks whether you have the required permissions for the action, without
  63864. // actually making the request, and provides an error response. If you have
  63865. // the required permissions, the error response is DryRunOperation. Otherwise,
  63866. // it is UnauthorizedOperation.
  63867. DryRun *bool `locationName:"dryRun" type:"boolean"`
  63868. // The ID of the AMI.
  63869. //
  63870. // ImageId is a required field
  63871. ImageId *string `type:"string" required:"true"`
  63872. }
  63873. // String returns the string representation
  63874. func (s ResetImageAttributeInput) String() string {
  63875. return awsutil.Prettify(s)
  63876. }
  63877. // GoString returns the string representation
  63878. func (s ResetImageAttributeInput) GoString() string {
  63879. return s.String()
  63880. }
  63881. // Validate inspects the fields of the type to determine if they are valid.
  63882. func (s *ResetImageAttributeInput) Validate() error {
  63883. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  63884. if s.Attribute == nil {
  63885. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  63886. }
  63887. if s.ImageId == nil {
  63888. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  63889. }
  63890. if invalidParams.Len() > 0 {
  63891. return invalidParams
  63892. }
  63893. return nil
  63894. }
  63895. // SetAttribute sets the Attribute field's value.
  63896. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  63897. s.Attribute = &v
  63898. return s
  63899. }
  63900. // SetDryRun sets the DryRun field's value.
  63901. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  63902. s.DryRun = &v
  63903. return s
  63904. }
  63905. // SetImageId sets the ImageId field's value.
  63906. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  63907. s.ImageId = &v
  63908. return s
  63909. }
  63910. type ResetImageAttributeOutput struct {
  63911. _ struct{} `type:"structure"`
  63912. }
  63913. // String returns the string representation
  63914. func (s ResetImageAttributeOutput) String() string {
  63915. return awsutil.Prettify(s)
  63916. }
  63917. // GoString returns the string representation
  63918. func (s ResetImageAttributeOutput) GoString() string {
  63919. return s.String()
  63920. }
  63921. type ResetInstanceAttributeInput struct {
  63922. _ struct{} `type:"structure"`
  63923. // The attribute to reset.
  63924. //
  63925. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  63926. // To change an instance attribute, use ModifyInstanceAttribute.
  63927. //
  63928. // Attribute is a required field
  63929. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  63930. // Checks whether you have the required permissions for the action, without
  63931. // actually making the request, and provides an error response. If you have
  63932. // the required permissions, the error response is DryRunOperation. Otherwise,
  63933. // it is UnauthorizedOperation.
  63934. DryRun *bool `locationName:"dryRun" type:"boolean"`
  63935. // The ID of the instance.
  63936. //
  63937. // InstanceId is a required field
  63938. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  63939. }
  63940. // String returns the string representation
  63941. func (s ResetInstanceAttributeInput) String() string {
  63942. return awsutil.Prettify(s)
  63943. }
  63944. // GoString returns the string representation
  63945. func (s ResetInstanceAttributeInput) GoString() string {
  63946. return s.String()
  63947. }
  63948. // Validate inspects the fields of the type to determine if they are valid.
  63949. func (s *ResetInstanceAttributeInput) Validate() error {
  63950. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  63951. if s.Attribute == nil {
  63952. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  63953. }
  63954. if s.InstanceId == nil {
  63955. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  63956. }
  63957. if invalidParams.Len() > 0 {
  63958. return invalidParams
  63959. }
  63960. return nil
  63961. }
  63962. // SetAttribute sets the Attribute field's value.
  63963. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  63964. s.Attribute = &v
  63965. return s
  63966. }
  63967. // SetDryRun sets the DryRun field's value.
  63968. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  63969. s.DryRun = &v
  63970. return s
  63971. }
  63972. // SetInstanceId sets the InstanceId field's value.
  63973. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  63974. s.InstanceId = &v
  63975. return s
  63976. }
  63977. type ResetInstanceAttributeOutput struct {
  63978. _ struct{} `type:"structure"`
  63979. }
  63980. // String returns the string representation
  63981. func (s ResetInstanceAttributeOutput) String() string {
  63982. return awsutil.Prettify(s)
  63983. }
  63984. // GoString returns the string representation
  63985. func (s ResetInstanceAttributeOutput) GoString() string {
  63986. return s.String()
  63987. }
  63988. // Contains the parameters for ResetNetworkInterfaceAttribute.
  63989. type ResetNetworkInterfaceAttributeInput struct {
  63990. _ struct{} `type:"structure"`
  63991. // Checks whether you have the required permissions for the action, without
  63992. // actually making the request, and provides an error response. If you have
  63993. // the required permissions, the error response is DryRunOperation. Otherwise,
  63994. // it is UnauthorizedOperation.
  63995. DryRun *bool `locationName:"dryRun" type:"boolean"`
  63996. // The ID of the network interface.
  63997. //
  63998. // NetworkInterfaceId is a required field
  63999. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  64000. // The source/destination checking attribute. Resets the value to true.
  64001. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  64002. }
  64003. // String returns the string representation
  64004. func (s ResetNetworkInterfaceAttributeInput) String() string {
  64005. return awsutil.Prettify(s)
  64006. }
  64007. // GoString returns the string representation
  64008. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  64009. return s.String()
  64010. }
  64011. // Validate inspects the fields of the type to determine if they are valid.
  64012. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  64013. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  64014. if s.NetworkInterfaceId == nil {
  64015. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  64016. }
  64017. if invalidParams.Len() > 0 {
  64018. return invalidParams
  64019. }
  64020. return nil
  64021. }
  64022. // SetDryRun sets the DryRun field's value.
  64023. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  64024. s.DryRun = &v
  64025. return s
  64026. }
  64027. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  64028. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  64029. s.NetworkInterfaceId = &v
  64030. return s
  64031. }
  64032. // SetSourceDestCheck sets the SourceDestCheck field's value.
  64033. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  64034. s.SourceDestCheck = &v
  64035. return s
  64036. }
  64037. type ResetNetworkInterfaceAttributeOutput struct {
  64038. _ struct{} `type:"structure"`
  64039. }
  64040. // String returns the string representation
  64041. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  64042. return awsutil.Prettify(s)
  64043. }
  64044. // GoString returns the string representation
  64045. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  64046. return s.String()
  64047. }
  64048. // Contains the parameters for ResetSnapshotAttribute.
  64049. type ResetSnapshotAttributeInput struct {
  64050. _ struct{} `type:"structure"`
  64051. // The attribute to reset. Currently, only the attribute for permission to create
  64052. // volumes can be reset.
  64053. //
  64054. // Attribute is a required field
  64055. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  64056. // Checks whether you have the required permissions for the action, without
  64057. // actually making the request, and provides an error response. If you have
  64058. // the required permissions, the error response is DryRunOperation. Otherwise,
  64059. // it is UnauthorizedOperation.
  64060. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64061. // The ID of the snapshot.
  64062. //
  64063. // SnapshotId is a required field
  64064. SnapshotId *string `type:"string" required:"true"`
  64065. }
  64066. // String returns the string representation
  64067. func (s ResetSnapshotAttributeInput) String() string {
  64068. return awsutil.Prettify(s)
  64069. }
  64070. // GoString returns the string representation
  64071. func (s ResetSnapshotAttributeInput) GoString() string {
  64072. return s.String()
  64073. }
  64074. // Validate inspects the fields of the type to determine if they are valid.
  64075. func (s *ResetSnapshotAttributeInput) Validate() error {
  64076. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  64077. if s.Attribute == nil {
  64078. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  64079. }
  64080. if s.SnapshotId == nil {
  64081. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  64082. }
  64083. if invalidParams.Len() > 0 {
  64084. return invalidParams
  64085. }
  64086. return nil
  64087. }
  64088. // SetAttribute sets the Attribute field's value.
  64089. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  64090. s.Attribute = &v
  64091. return s
  64092. }
  64093. // SetDryRun sets the DryRun field's value.
  64094. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  64095. s.DryRun = &v
  64096. return s
  64097. }
  64098. // SetSnapshotId sets the SnapshotId field's value.
  64099. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  64100. s.SnapshotId = &v
  64101. return s
  64102. }
  64103. type ResetSnapshotAttributeOutput struct {
  64104. _ struct{} `type:"structure"`
  64105. }
  64106. // String returns the string representation
  64107. func (s ResetSnapshotAttributeOutput) String() string {
  64108. return awsutil.Prettify(s)
  64109. }
  64110. // GoString returns the string representation
  64111. func (s ResetSnapshotAttributeOutput) GoString() string {
  64112. return s.String()
  64113. }
  64114. // Describes the error that's returned when you cannot delete a launch template
  64115. // version.
  64116. type ResponseError struct {
  64117. _ struct{} `type:"structure"`
  64118. // The error code.
  64119. Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
  64120. // The error message, if applicable.
  64121. Message *string `locationName:"message" type:"string"`
  64122. }
  64123. // String returns the string representation
  64124. func (s ResponseError) String() string {
  64125. return awsutil.Prettify(s)
  64126. }
  64127. // GoString returns the string representation
  64128. func (s ResponseError) GoString() string {
  64129. return s.String()
  64130. }
  64131. // SetCode sets the Code field's value.
  64132. func (s *ResponseError) SetCode(v string) *ResponseError {
  64133. s.Code = &v
  64134. return s
  64135. }
  64136. // SetMessage sets the Message field's value.
  64137. func (s *ResponseError) SetMessage(v string) *ResponseError {
  64138. s.Message = &v
  64139. return s
  64140. }
  64141. // The information for a launch template.
  64142. type ResponseLaunchTemplateData struct {
  64143. _ struct{} `type:"structure"`
  64144. // The block device mappings.
  64145. BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
  64146. // Information about the Capacity Reservation targeting option.
  64147. CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
  64148. // The CPU options for the instance. For more information, see Optimizing CPU
  64149. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  64150. // in the Amazon Elastic Compute Cloud User Guide.
  64151. CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
  64152. // The credit option for CPU usage of the instance.
  64153. CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
  64154. // If set to true, indicates that the instance cannot be terminated using the
  64155. // Amazon EC2 console, command line tool, or API.
  64156. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  64157. // Indicates whether the instance is optimized for Amazon EBS I/O.
  64158. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  64159. // The elastic GPU specification.
  64160. ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
  64161. // The elastic inference accelerator for the instance.
  64162. ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
  64163. // Indicates whether an instance is configured for hibernation. For more information,
  64164. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  64165. // in the Amazon Elastic Compute Cloud User Guide.
  64166. HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
  64167. // The IAM instance profile.
  64168. IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  64169. // The ID of the AMI that was used to launch the instance.
  64170. ImageId *string `locationName:"imageId" type:"string"`
  64171. // Indicates whether an instance stops or terminates when you initiate shutdown
  64172. // from the instance (using the operating system command for system shutdown).
  64173. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  64174. // The market (purchasing) option for the instances.
  64175. InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
  64176. // The instance type.
  64177. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  64178. // The ID of the kernel, if applicable.
  64179. KernelId *string `locationName:"kernelId" type:"string"`
  64180. // The name of the key pair.
  64181. KeyName *string `locationName:"keyName" type:"string"`
  64182. // The license configurations.
  64183. LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
  64184. // The monitoring for the instance.
  64185. Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
  64186. // The network interfaces.
  64187. NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  64188. // The placement of the instance.
  64189. Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
  64190. // The ID of the RAM disk, if applicable.
  64191. RamDiskId *string `locationName:"ramDiskId" type:"string"`
  64192. // The security group IDs.
  64193. SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
  64194. // The security group names.
  64195. SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
  64196. // The tags.
  64197. TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  64198. // The user data for the instance.
  64199. UserData *string `locationName:"userData" type:"string"`
  64200. }
  64201. // String returns the string representation
  64202. func (s ResponseLaunchTemplateData) String() string {
  64203. return awsutil.Prettify(s)
  64204. }
  64205. // GoString returns the string representation
  64206. func (s ResponseLaunchTemplateData) GoString() string {
  64207. return s.String()
  64208. }
  64209. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  64210. func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
  64211. s.BlockDeviceMappings = v
  64212. return s
  64213. }
  64214. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  64215. func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
  64216. s.CapacityReservationSpecification = v
  64217. return s
  64218. }
  64219. // SetCpuOptions sets the CpuOptions field's value.
  64220. func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
  64221. s.CpuOptions = v
  64222. return s
  64223. }
  64224. // SetCreditSpecification sets the CreditSpecification field's value.
  64225. func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
  64226. s.CreditSpecification = v
  64227. return s
  64228. }
  64229. // SetDisableApiTermination sets the DisableApiTermination field's value.
  64230. func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
  64231. s.DisableApiTermination = &v
  64232. return s
  64233. }
  64234. // SetEbsOptimized sets the EbsOptimized field's value.
  64235. func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
  64236. s.EbsOptimized = &v
  64237. return s
  64238. }
  64239. // SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
  64240. func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
  64241. s.ElasticGpuSpecifications = v
  64242. return s
  64243. }
  64244. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  64245. func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
  64246. s.ElasticInferenceAccelerators = v
  64247. return s
  64248. }
  64249. // SetHibernationOptions sets the HibernationOptions field's value.
  64250. func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
  64251. s.HibernationOptions = v
  64252. return s
  64253. }
  64254. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  64255. func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
  64256. s.IamInstanceProfile = v
  64257. return s
  64258. }
  64259. // SetImageId sets the ImageId field's value.
  64260. func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
  64261. s.ImageId = &v
  64262. return s
  64263. }
  64264. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  64265. func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
  64266. s.InstanceInitiatedShutdownBehavior = &v
  64267. return s
  64268. }
  64269. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  64270. func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
  64271. s.InstanceMarketOptions = v
  64272. return s
  64273. }
  64274. // SetInstanceType sets the InstanceType field's value.
  64275. func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
  64276. s.InstanceType = &v
  64277. return s
  64278. }
  64279. // SetKernelId sets the KernelId field's value.
  64280. func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
  64281. s.KernelId = &v
  64282. return s
  64283. }
  64284. // SetKeyName sets the KeyName field's value.
  64285. func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
  64286. s.KeyName = &v
  64287. return s
  64288. }
  64289. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  64290. func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
  64291. s.LicenseSpecifications = v
  64292. return s
  64293. }
  64294. // SetMonitoring sets the Monitoring field's value.
  64295. func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
  64296. s.Monitoring = v
  64297. return s
  64298. }
  64299. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  64300. func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
  64301. s.NetworkInterfaces = v
  64302. return s
  64303. }
  64304. // SetPlacement sets the Placement field's value.
  64305. func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
  64306. s.Placement = v
  64307. return s
  64308. }
  64309. // SetRamDiskId sets the RamDiskId field's value.
  64310. func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
  64311. s.RamDiskId = &v
  64312. return s
  64313. }
  64314. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  64315. func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
  64316. s.SecurityGroupIds = v
  64317. return s
  64318. }
  64319. // SetSecurityGroups sets the SecurityGroups field's value.
  64320. func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
  64321. s.SecurityGroups = v
  64322. return s
  64323. }
  64324. // SetTagSpecifications sets the TagSpecifications field's value.
  64325. func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
  64326. s.TagSpecifications = v
  64327. return s
  64328. }
  64329. // SetUserData sets the UserData field's value.
  64330. func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
  64331. s.UserData = &v
  64332. return s
  64333. }
  64334. type RestoreAddressToClassicInput struct {
  64335. _ struct{} `type:"structure"`
  64336. // Checks whether you have the required permissions for the action, without
  64337. // actually making the request, and provides an error response. If you have
  64338. // the required permissions, the error response is DryRunOperation. Otherwise,
  64339. // it is UnauthorizedOperation.
  64340. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64341. // The Elastic IP address.
  64342. //
  64343. // PublicIp is a required field
  64344. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  64345. }
  64346. // String returns the string representation
  64347. func (s RestoreAddressToClassicInput) String() string {
  64348. return awsutil.Prettify(s)
  64349. }
  64350. // GoString returns the string representation
  64351. func (s RestoreAddressToClassicInput) GoString() string {
  64352. return s.String()
  64353. }
  64354. // Validate inspects the fields of the type to determine if they are valid.
  64355. func (s *RestoreAddressToClassicInput) Validate() error {
  64356. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  64357. if s.PublicIp == nil {
  64358. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  64359. }
  64360. if invalidParams.Len() > 0 {
  64361. return invalidParams
  64362. }
  64363. return nil
  64364. }
  64365. // SetDryRun sets the DryRun field's value.
  64366. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  64367. s.DryRun = &v
  64368. return s
  64369. }
  64370. // SetPublicIp sets the PublicIp field's value.
  64371. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  64372. s.PublicIp = &v
  64373. return s
  64374. }
  64375. type RestoreAddressToClassicOutput struct {
  64376. _ struct{} `type:"structure"`
  64377. // The Elastic IP address.
  64378. PublicIp *string `locationName:"publicIp" type:"string"`
  64379. // The move status for the IP address.
  64380. Status *string `locationName:"status" type:"string" enum:"Status"`
  64381. }
  64382. // String returns the string representation
  64383. func (s RestoreAddressToClassicOutput) String() string {
  64384. return awsutil.Prettify(s)
  64385. }
  64386. // GoString returns the string representation
  64387. func (s RestoreAddressToClassicOutput) GoString() string {
  64388. return s.String()
  64389. }
  64390. // SetPublicIp sets the PublicIp field's value.
  64391. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  64392. s.PublicIp = &v
  64393. return s
  64394. }
  64395. // SetStatus sets the Status field's value.
  64396. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  64397. s.Status = &v
  64398. return s
  64399. }
  64400. type RevokeClientVpnIngressInput struct {
  64401. _ struct{} `type:"structure"`
  64402. // The ID of the Active Directory group for which to revoke access.
  64403. AccessGroupId *string `type:"string"`
  64404. // The ID of the Client VPN endpoint with which the authorization rule is associated.
  64405. //
  64406. // ClientVpnEndpointId is a required field
  64407. ClientVpnEndpointId *string `type:"string" required:"true"`
  64408. // Checks whether you have the required permissions for the action, without
  64409. // actually making the request, and provides an error response. If you have
  64410. // the required permissions, the error response is DryRunOperation. Otherwise,
  64411. // it is UnauthorizedOperation.
  64412. DryRun *bool `type:"boolean"`
  64413. // Indicates whether access should be revoked for all clients.
  64414. RevokeAllGroups *bool `type:"boolean"`
  64415. // The IPv4 address range, in CIDR notation, of the network for which access
  64416. // is being removed.
  64417. //
  64418. // TargetNetworkCidr is a required field
  64419. TargetNetworkCidr *string `type:"string" required:"true"`
  64420. }
  64421. // String returns the string representation
  64422. func (s RevokeClientVpnIngressInput) String() string {
  64423. return awsutil.Prettify(s)
  64424. }
  64425. // GoString returns the string representation
  64426. func (s RevokeClientVpnIngressInput) GoString() string {
  64427. return s.String()
  64428. }
  64429. // Validate inspects the fields of the type to determine if they are valid.
  64430. func (s *RevokeClientVpnIngressInput) Validate() error {
  64431. invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
  64432. if s.ClientVpnEndpointId == nil {
  64433. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  64434. }
  64435. if s.TargetNetworkCidr == nil {
  64436. invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
  64437. }
  64438. if invalidParams.Len() > 0 {
  64439. return invalidParams
  64440. }
  64441. return nil
  64442. }
  64443. // SetAccessGroupId sets the AccessGroupId field's value.
  64444. func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
  64445. s.AccessGroupId = &v
  64446. return s
  64447. }
  64448. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  64449. func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
  64450. s.ClientVpnEndpointId = &v
  64451. return s
  64452. }
  64453. // SetDryRun sets the DryRun field's value.
  64454. func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
  64455. s.DryRun = &v
  64456. return s
  64457. }
  64458. // SetRevokeAllGroups sets the RevokeAllGroups field's value.
  64459. func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
  64460. s.RevokeAllGroups = &v
  64461. return s
  64462. }
  64463. // SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
  64464. func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
  64465. s.TargetNetworkCidr = &v
  64466. return s
  64467. }
  64468. type RevokeClientVpnIngressOutput struct {
  64469. _ struct{} `type:"structure"`
  64470. // The current state of the authorization rule.
  64471. Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
  64472. }
  64473. // String returns the string representation
  64474. func (s RevokeClientVpnIngressOutput) String() string {
  64475. return awsutil.Prettify(s)
  64476. }
  64477. // GoString returns the string representation
  64478. func (s RevokeClientVpnIngressOutput) GoString() string {
  64479. return s.String()
  64480. }
  64481. // SetStatus sets the Status field's value.
  64482. func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
  64483. s.Status = v
  64484. return s
  64485. }
  64486. type RevokeSecurityGroupEgressInput struct {
  64487. _ struct{} `type:"structure"`
  64488. // Not supported. Use a set of IP permissions to specify the CIDR.
  64489. CidrIp *string `locationName:"cidrIp" type:"string"`
  64490. // Checks whether you have the required permissions for the action, without
  64491. // actually making the request, and provides an error response. If you have
  64492. // the required permissions, the error response is DryRunOperation. Otherwise,
  64493. // it is UnauthorizedOperation.
  64494. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64495. // Not supported. Use a set of IP permissions to specify the port.
  64496. FromPort *int64 `locationName:"fromPort" type:"integer"`
  64497. // The ID of the security group.
  64498. //
  64499. // GroupId is a required field
  64500. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  64501. // One or more sets of IP permissions. You can't specify a destination security
  64502. // group and a CIDR IP address range in the same set of permissions.
  64503. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  64504. // Not supported. Use a set of IP permissions to specify the protocol name or
  64505. // number.
  64506. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  64507. // Not supported. Use a set of IP permissions to specify a destination security
  64508. // group.
  64509. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  64510. // Not supported. Use a set of IP permissions to specify a destination security
  64511. // group.
  64512. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  64513. // Not supported. Use a set of IP permissions to specify the port.
  64514. ToPort *int64 `locationName:"toPort" type:"integer"`
  64515. }
  64516. // String returns the string representation
  64517. func (s RevokeSecurityGroupEgressInput) String() string {
  64518. return awsutil.Prettify(s)
  64519. }
  64520. // GoString returns the string representation
  64521. func (s RevokeSecurityGroupEgressInput) GoString() string {
  64522. return s.String()
  64523. }
  64524. // Validate inspects the fields of the type to determine if they are valid.
  64525. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  64526. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  64527. if s.GroupId == nil {
  64528. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  64529. }
  64530. if invalidParams.Len() > 0 {
  64531. return invalidParams
  64532. }
  64533. return nil
  64534. }
  64535. // SetCidrIp sets the CidrIp field's value.
  64536. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  64537. s.CidrIp = &v
  64538. return s
  64539. }
  64540. // SetDryRun sets the DryRun field's value.
  64541. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  64542. s.DryRun = &v
  64543. return s
  64544. }
  64545. // SetFromPort sets the FromPort field's value.
  64546. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  64547. s.FromPort = &v
  64548. return s
  64549. }
  64550. // SetGroupId sets the GroupId field's value.
  64551. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  64552. s.GroupId = &v
  64553. return s
  64554. }
  64555. // SetIpPermissions sets the IpPermissions field's value.
  64556. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  64557. s.IpPermissions = v
  64558. return s
  64559. }
  64560. // SetIpProtocol sets the IpProtocol field's value.
  64561. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  64562. s.IpProtocol = &v
  64563. return s
  64564. }
  64565. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  64566. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  64567. s.SourceSecurityGroupName = &v
  64568. return s
  64569. }
  64570. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  64571. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  64572. s.SourceSecurityGroupOwnerId = &v
  64573. return s
  64574. }
  64575. // SetToPort sets the ToPort field's value.
  64576. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  64577. s.ToPort = &v
  64578. return s
  64579. }
  64580. type RevokeSecurityGroupEgressOutput struct {
  64581. _ struct{} `type:"structure"`
  64582. }
  64583. // String returns the string representation
  64584. func (s RevokeSecurityGroupEgressOutput) String() string {
  64585. return awsutil.Prettify(s)
  64586. }
  64587. // GoString returns the string representation
  64588. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  64589. return s.String()
  64590. }
  64591. type RevokeSecurityGroupIngressInput struct {
  64592. _ struct{} `type:"structure"`
  64593. // The CIDR IP address range. You can't specify this parameter when specifying
  64594. // a source security group.
  64595. CidrIp *string `type:"string"`
  64596. // Checks whether you have the required permissions for the action, without
  64597. // actually making the request, and provides an error response. If you have
  64598. // the required permissions, the error response is DryRunOperation. Otherwise,
  64599. // it is UnauthorizedOperation.
  64600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64601. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  64602. // For the ICMP type number, use -1 to specify all ICMP types.
  64603. FromPort *int64 `type:"integer"`
  64604. // The ID of the security group. You must specify either the security group
  64605. // ID or the security group name in the request. For security groups in a nondefault
  64606. // VPC, you must specify the security group ID.
  64607. GroupId *string `type:"string"`
  64608. // [EC2-Classic, default VPC] The name of the security group. You must specify
  64609. // either the security group ID or the security group name in the request.
  64610. GroupName *string `type:"string"`
  64611. // One or more sets of IP permissions. You can't specify a source security group
  64612. // and a CIDR IP address range in the same set of permissions.
  64613. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  64614. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  64615. // Use -1 to specify all.
  64616. IpProtocol *string `type:"string"`
  64617. // [EC2-Classic, default VPC] The name of the source security group. You can't
  64618. // specify this parameter in combination with the following parameters: the
  64619. // CIDR IP address range, the start of the port range, the IP protocol, and
  64620. // the end of the port range. For EC2-VPC, the source security group must be
  64621. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  64622. // use a set of IP permissions instead.
  64623. SourceSecurityGroupName *string `type:"string"`
  64624. // [EC2-Classic] The AWS account ID of the source security group, if the source
  64625. // security group is in a different account. You can't specify this parameter
  64626. // in combination with the following parameters: the CIDR IP address range,
  64627. // the IP protocol, the start of the port range, and the end of the port range.
  64628. // To revoke a specific rule for an IP protocol and port range, use a set of
  64629. // IP permissions instead.
  64630. SourceSecurityGroupOwnerId *string `type:"string"`
  64631. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  64632. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  64633. ToPort *int64 `type:"integer"`
  64634. }
  64635. // String returns the string representation
  64636. func (s RevokeSecurityGroupIngressInput) String() string {
  64637. return awsutil.Prettify(s)
  64638. }
  64639. // GoString returns the string representation
  64640. func (s RevokeSecurityGroupIngressInput) GoString() string {
  64641. return s.String()
  64642. }
  64643. // SetCidrIp sets the CidrIp field's value.
  64644. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  64645. s.CidrIp = &v
  64646. return s
  64647. }
  64648. // SetDryRun sets the DryRun field's value.
  64649. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  64650. s.DryRun = &v
  64651. return s
  64652. }
  64653. // SetFromPort sets the FromPort field's value.
  64654. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  64655. s.FromPort = &v
  64656. return s
  64657. }
  64658. // SetGroupId sets the GroupId field's value.
  64659. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  64660. s.GroupId = &v
  64661. return s
  64662. }
  64663. // SetGroupName sets the GroupName field's value.
  64664. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  64665. s.GroupName = &v
  64666. return s
  64667. }
  64668. // SetIpPermissions sets the IpPermissions field's value.
  64669. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  64670. s.IpPermissions = v
  64671. return s
  64672. }
  64673. // SetIpProtocol sets the IpProtocol field's value.
  64674. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  64675. s.IpProtocol = &v
  64676. return s
  64677. }
  64678. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  64679. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  64680. s.SourceSecurityGroupName = &v
  64681. return s
  64682. }
  64683. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  64684. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  64685. s.SourceSecurityGroupOwnerId = &v
  64686. return s
  64687. }
  64688. // SetToPort sets the ToPort field's value.
  64689. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  64690. s.ToPort = &v
  64691. return s
  64692. }
  64693. type RevokeSecurityGroupIngressOutput struct {
  64694. _ struct{} `type:"structure"`
  64695. }
  64696. // String returns the string representation
  64697. func (s RevokeSecurityGroupIngressOutput) String() string {
  64698. return awsutil.Prettify(s)
  64699. }
  64700. // GoString returns the string representation
  64701. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  64702. return s.String()
  64703. }
  64704. // Describes a route in a route table.
  64705. type Route struct {
  64706. _ struct{} `type:"structure"`
  64707. // The IPv4 CIDR block used for the destination match.
  64708. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  64709. // The IPv6 CIDR block used for the destination match.
  64710. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  64711. // The prefix of the AWS service.
  64712. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  64713. // The ID of the egress-only internet gateway.
  64714. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  64715. // The ID of a gateway attached to your VPC.
  64716. GatewayId *string `locationName:"gatewayId" type:"string"`
  64717. // The ID of a NAT instance in your VPC.
  64718. InstanceId *string `locationName:"instanceId" type:"string"`
  64719. // The AWS account ID of the owner of the instance.
  64720. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  64721. // The ID of a NAT gateway.
  64722. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  64723. // The ID of the network interface.
  64724. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  64725. // Describes how the route was created.
  64726. //
  64727. // * CreateRouteTable - The route was automatically created when the route
  64728. // table was created.
  64729. //
  64730. // * CreateRoute - The route was manually added to the route table.
  64731. //
  64732. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  64733. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  64734. // The state of the route. The blackhole state indicates that the route's target
  64735. // isn't available (for example, the specified gateway isn't attached to the
  64736. // VPC, or the specified NAT instance has been terminated).
  64737. State *string `locationName:"state" type:"string" enum:"RouteState"`
  64738. // The ID of a transit gateway.
  64739. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  64740. // The ID of a VPC peering connection.
  64741. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  64742. }
  64743. // String returns the string representation
  64744. func (s Route) String() string {
  64745. return awsutil.Prettify(s)
  64746. }
  64747. // GoString returns the string representation
  64748. func (s Route) GoString() string {
  64749. return s.String()
  64750. }
  64751. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  64752. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  64753. s.DestinationCidrBlock = &v
  64754. return s
  64755. }
  64756. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  64757. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  64758. s.DestinationIpv6CidrBlock = &v
  64759. return s
  64760. }
  64761. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  64762. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  64763. s.DestinationPrefixListId = &v
  64764. return s
  64765. }
  64766. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  64767. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  64768. s.EgressOnlyInternetGatewayId = &v
  64769. return s
  64770. }
  64771. // SetGatewayId sets the GatewayId field's value.
  64772. func (s *Route) SetGatewayId(v string) *Route {
  64773. s.GatewayId = &v
  64774. return s
  64775. }
  64776. // SetInstanceId sets the InstanceId field's value.
  64777. func (s *Route) SetInstanceId(v string) *Route {
  64778. s.InstanceId = &v
  64779. return s
  64780. }
  64781. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  64782. func (s *Route) SetInstanceOwnerId(v string) *Route {
  64783. s.InstanceOwnerId = &v
  64784. return s
  64785. }
  64786. // SetNatGatewayId sets the NatGatewayId field's value.
  64787. func (s *Route) SetNatGatewayId(v string) *Route {
  64788. s.NatGatewayId = &v
  64789. return s
  64790. }
  64791. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  64792. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  64793. s.NetworkInterfaceId = &v
  64794. return s
  64795. }
  64796. // SetOrigin sets the Origin field's value.
  64797. func (s *Route) SetOrigin(v string) *Route {
  64798. s.Origin = &v
  64799. return s
  64800. }
  64801. // SetState sets the State field's value.
  64802. func (s *Route) SetState(v string) *Route {
  64803. s.State = &v
  64804. return s
  64805. }
  64806. // SetTransitGatewayId sets the TransitGatewayId field's value.
  64807. func (s *Route) SetTransitGatewayId(v string) *Route {
  64808. s.TransitGatewayId = &v
  64809. return s
  64810. }
  64811. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  64812. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  64813. s.VpcPeeringConnectionId = &v
  64814. return s
  64815. }
  64816. // Describes a route table.
  64817. type RouteTable struct {
  64818. _ struct{} `type:"structure"`
  64819. // The associations between the route table and one or more subnets.
  64820. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  64821. // The ID of the AWS account that owns the route table.
  64822. OwnerId *string `locationName:"ownerId" type:"string"`
  64823. // Any virtual private gateway (VGW) propagating routes.
  64824. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  64825. // The ID of the route table.
  64826. RouteTableId *string `locationName:"routeTableId" type:"string"`
  64827. // The routes in the route table.
  64828. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  64829. // Any tags assigned to the route table.
  64830. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  64831. // The ID of the VPC.
  64832. VpcId *string `locationName:"vpcId" type:"string"`
  64833. }
  64834. // String returns the string representation
  64835. func (s RouteTable) String() string {
  64836. return awsutil.Prettify(s)
  64837. }
  64838. // GoString returns the string representation
  64839. func (s RouteTable) GoString() string {
  64840. return s.String()
  64841. }
  64842. // SetAssociations sets the Associations field's value.
  64843. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  64844. s.Associations = v
  64845. return s
  64846. }
  64847. // SetOwnerId sets the OwnerId field's value.
  64848. func (s *RouteTable) SetOwnerId(v string) *RouteTable {
  64849. s.OwnerId = &v
  64850. return s
  64851. }
  64852. // SetPropagatingVgws sets the PropagatingVgws field's value.
  64853. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  64854. s.PropagatingVgws = v
  64855. return s
  64856. }
  64857. // SetRouteTableId sets the RouteTableId field's value.
  64858. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  64859. s.RouteTableId = &v
  64860. return s
  64861. }
  64862. // SetRoutes sets the Routes field's value.
  64863. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  64864. s.Routes = v
  64865. return s
  64866. }
  64867. // SetTags sets the Tags field's value.
  64868. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  64869. s.Tags = v
  64870. return s
  64871. }
  64872. // SetVpcId sets the VpcId field's value.
  64873. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  64874. s.VpcId = &v
  64875. return s
  64876. }
  64877. // Describes an association between a route table and a subnet.
  64878. type RouteTableAssociation struct {
  64879. _ struct{} `type:"structure"`
  64880. // Indicates whether this is the main route table.
  64881. Main *bool `locationName:"main" type:"boolean"`
  64882. // The ID of the association between a route table and a subnet.
  64883. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  64884. // The ID of the route table.
  64885. RouteTableId *string `locationName:"routeTableId" type:"string"`
  64886. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  64887. SubnetId *string `locationName:"subnetId" type:"string"`
  64888. }
  64889. // String returns the string representation
  64890. func (s RouteTableAssociation) String() string {
  64891. return awsutil.Prettify(s)
  64892. }
  64893. // GoString returns the string representation
  64894. func (s RouteTableAssociation) GoString() string {
  64895. return s.String()
  64896. }
  64897. // SetMain sets the Main field's value.
  64898. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  64899. s.Main = &v
  64900. return s
  64901. }
  64902. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  64903. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  64904. s.RouteTableAssociationId = &v
  64905. return s
  64906. }
  64907. // SetRouteTableId sets the RouteTableId field's value.
  64908. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  64909. s.RouteTableId = &v
  64910. return s
  64911. }
  64912. // SetSubnetId sets the SubnetId field's value.
  64913. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  64914. s.SubnetId = &v
  64915. return s
  64916. }
  64917. type RunInstancesInput struct {
  64918. _ struct{} `type:"structure"`
  64919. // Reserved.
  64920. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  64921. // One or more block device mapping entries. You can't specify both a snapshot
  64922. // ID and an encryption value. This is because only blank volumes can be encrypted
  64923. // on creation. If a snapshot is the basis for a volume, it is not blank and
  64924. // its encryption status is used for the volume encryption status.
  64925. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  64926. // Information about the Capacity Reservation targeting option. If you do not
  64927. // specify this parameter, the instance's Capacity Reservation preference defaults
  64928. // to open, which enables it to run in any open Capacity Reservation that has
  64929. // matching attributes (instance type, platform, Availability Zone).
  64930. CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
  64931. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  64932. // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  64933. //
  64934. // Constraints: Maximum 64 ASCII characters
  64935. ClientToken *string `locationName:"clientToken" type:"string"`
  64936. // The CPU options for the instance. For more information, see Optimizing CPU
  64937. // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
  64938. // in the Amazon Elastic Compute Cloud User Guide.
  64939. CpuOptions *CpuOptionsRequest `type:"structure"`
  64940. // The credit option for CPU usage of the instance. Valid values are standard
  64941. // and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification.
  64942. // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
  64943. // in the Amazon Elastic Compute Cloud User Guide.
  64944. //
  64945. // Default: standard (T2 instances) or unlimited (T3 instances)
  64946. CreditSpecification *CreditSpecificationRequest `type:"structure"`
  64947. // If you set this parameter to true, you can't terminate the instance using
  64948. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  64949. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  64950. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  64951. // instance by running the shutdown command from the instance.
  64952. //
  64953. // Default: false
  64954. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  64955. // Checks whether you have the required permissions for the action, without
  64956. // actually making the request, and provides an error response. If you have
  64957. // the required permissions, the error response is DryRunOperation. Otherwise,
  64958. // it is UnauthorizedOperation.
  64959. DryRun *bool `locationName:"dryRun" type:"boolean"`
  64960. // Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
  64961. // provides dedicated throughput to Amazon EBS and an optimized configuration
  64962. // stack to provide optimal Amazon EBS I/O performance. This optimization isn't
  64963. // available with all instance types. Additional usage charges apply when using
  64964. // an EBS-optimized instance.
  64965. //
  64966. // Default: false
  64967. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  64968. // An elastic GPU to associate with the instance.
  64969. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
  64970. // An elastic inference accelerator.
  64971. ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
  64972. // Indicates whether an instance is enabled for hibernation. For more information,
  64973. // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  64974. // in the Amazon Elastic Compute Cloud User Guide.
  64975. HibernationOptions *HibernationOptionsRequest `type:"structure"`
  64976. // The IAM instance profile.
  64977. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  64978. // The ID of the AMI, which you can get by calling DescribeImages. An AMI is
  64979. // required to launch an instance and must be specified here or in a launch
  64980. // template.
  64981. ImageId *string `type:"string"`
  64982. // Indicates whether an instance stops or terminates when you initiate shutdown
  64983. // from the instance (using the operating system command for system shutdown).
  64984. //
  64985. // Default: stop
  64986. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  64987. // The market (purchasing) option for the instances.
  64988. //
  64989. // For RunInstances, persistent Spot Instance requests are only supported when
  64990. // InstanceInterruptionBehavior is set to either hibernate or stop.
  64991. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
  64992. // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  64993. // in the Amazon Elastic Compute Cloud User Guide.
  64994. //
  64995. // Default: m1.small
  64996. InstanceType *string `type:"string" enum:"InstanceType"`
  64997. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  64998. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  64999. // You cannot specify this option and the option to assign specific IPv6 addresses
  65000. // in the same request. You can specify this option if you've specified a minimum
  65001. // number of instances to launch.
  65002. //
  65003. // You cannot specify this option and the network interfaces option in the same
  65004. // request.
  65005. Ipv6AddressCount *int64 `type:"integer"`
  65006. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  65007. // to associate with the primary network interface. You cannot specify this
  65008. // option and the option to assign a number of IPv6 addresses in the same request.
  65009. // You cannot specify this option if you've specified a minimum number of instances
  65010. // to launch.
  65011. //
  65012. // You cannot specify this option and the network interfaces option in the same
  65013. // request.
  65014. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  65015. // The ID of the kernel.
  65016. //
  65017. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  65018. // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  65019. // in the Amazon Elastic Compute Cloud User Guide.
  65020. KernelId *string `type:"string"`
  65021. // The name of the key pair. You can create a key pair using CreateKeyPair or
  65022. // ImportKeyPair.
  65023. //
  65024. // If you do not specify a key pair, you can't connect to the instance unless
  65025. // you choose an AMI that is configured to allow users another way to log in.
  65026. KeyName *string `type:"string"`
  65027. // The launch template to use to launch the instances. Any parameters that you
  65028. // specify in RunInstances override the same parameters in the launch template.
  65029. // You can specify either the name or ID of a launch template, but not both.
  65030. LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
  65031. // The license configurations.
  65032. LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
  65033. // The maximum number of instances to launch. If you specify more instances
  65034. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  65035. // the largest possible number of instances above MinCount.
  65036. //
  65037. // Constraints: Between 1 and the maximum number you're allowed for the specified
  65038. // instance type. For more information about the default limits, and how to
  65039. // 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)
  65040. // in the Amazon EC2 FAQ.
  65041. //
  65042. // MaxCount is a required field
  65043. MaxCount *int64 `type:"integer" required:"true"`
  65044. // The minimum number of instances to launch. If you specify a minimum that
  65045. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  65046. // Amazon EC2 launches no instances.
  65047. //
  65048. // Constraints: Between 1 and the maximum number you're allowed for the specified
  65049. // instance type. For more information about the default limits, and how to
  65050. // 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)
  65051. // in the Amazon EC2 General FAQ.
  65052. //
  65053. // MinCount is a required field
  65054. MinCount *int64 `type:"integer" required:"true"`
  65055. // The monitoring for the instance.
  65056. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  65057. // One or more network interfaces.
  65058. //
  65059. // You cannot specify this option and the network interfaces option in the same
  65060. // request.
  65061. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  65062. // The placement for the instance.
  65063. Placement *Placement `type:"structure"`
  65064. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  65065. // address range of the subnet.
  65066. //
  65067. // Only one private IP address can be designated as primary. You can't specify
  65068. // this option if you've specified the option to designate a private IP address
  65069. // as the primary IP address in a network interface specification. You cannot
  65070. // specify this option if you're launching more than one instance in the request.
  65071. //
  65072. // You cannot specify this option and the network interfaces option in the same
  65073. // request.
  65074. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  65075. // The ID of the RAM disk.
  65076. //
  65077. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  65078. // information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  65079. // in the Amazon Elastic Compute Cloud User Guide.
  65080. RamdiskId *string `type:"string"`
  65081. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  65082. //
  65083. // Default: Amazon EC2 uses the default security group.
  65084. //
  65085. // You cannot specify this option and the network interfaces option in the same
  65086. // request.
  65087. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  65088. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  65089. // VPC, you must use security group IDs instead.
  65090. //
  65091. // You cannot specify this option and the network interfaces option in the same
  65092. // request.
  65093. //
  65094. // Default: Amazon EC2 uses the default security group.
  65095. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  65096. // [EC2-VPC] The ID of the subnet to launch the instance into.
  65097. //
  65098. // You cannot specify this option and the network interfaces option in the same
  65099. // request.
  65100. SubnetId *string `type:"string"`
  65101. // The tags to apply to the resources during launch. You can only tag instances
  65102. // and volumes on launch. The specified tags are applied to all instances or
  65103. // volumes that are created during launch. To tag a resource after it has been
  65104. // created, see CreateTags.
  65105. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  65106. // The user data to make available to the instance. For more information, see
  65107. // Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  65108. // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  65109. // (Windows). If you are using a command line tool, base64-encoding is performed
  65110. // for you, and you can load the text from a file. Otherwise, you must provide
  65111. // base64-encoded text.
  65112. UserData *string `type:"string"`
  65113. }
  65114. // String returns the string representation
  65115. func (s RunInstancesInput) String() string {
  65116. return awsutil.Prettify(s)
  65117. }
  65118. // GoString returns the string representation
  65119. func (s RunInstancesInput) GoString() string {
  65120. return s.String()
  65121. }
  65122. // Validate inspects the fields of the type to determine if they are valid.
  65123. func (s *RunInstancesInput) Validate() error {
  65124. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  65125. if s.MaxCount == nil {
  65126. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  65127. }
  65128. if s.MinCount == nil {
  65129. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  65130. }
  65131. if s.CreditSpecification != nil {
  65132. if err := s.CreditSpecification.Validate(); err != nil {
  65133. invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
  65134. }
  65135. }
  65136. if s.ElasticGpuSpecification != nil {
  65137. for i, v := range s.ElasticGpuSpecification {
  65138. if v == nil {
  65139. continue
  65140. }
  65141. if err := v.Validate(); err != nil {
  65142. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
  65143. }
  65144. }
  65145. }
  65146. if s.ElasticInferenceAccelerators != nil {
  65147. for i, v := range s.ElasticInferenceAccelerators {
  65148. if v == nil {
  65149. continue
  65150. }
  65151. if err := v.Validate(); err != nil {
  65152. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
  65153. }
  65154. }
  65155. }
  65156. if s.Monitoring != nil {
  65157. if err := s.Monitoring.Validate(); err != nil {
  65158. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  65159. }
  65160. }
  65161. if invalidParams.Len() > 0 {
  65162. return invalidParams
  65163. }
  65164. return nil
  65165. }
  65166. // SetAdditionalInfo sets the AdditionalInfo field's value.
  65167. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  65168. s.AdditionalInfo = &v
  65169. return s
  65170. }
  65171. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  65172. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  65173. s.BlockDeviceMappings = v
  65174. return s
  65175. }
  65176. // SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
  65177. func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
  65178. s.CapacityReservationSpecification = v
  65179. return s
  65180. }
  65181. // SetClientToken sets the ClientToken field's value.
  65182. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  65183. s.ClientToken = &v
  65184. return s
  65185. }
  65186. // SetCpuOptions sets the CpuOptions field's value.
  65187. func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
  65188. s.CpuOptions = v
  65189. return s
  65190. }
  65191. // SetCreditSpecification sets the CreditSpecification field's value.
  65192. func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
  65193. s.CreditSpecification = v
  65194. return s
  65195. }
  65196. // SetDisableApiTermination sets the DisableApiTermination field's value.
  65197. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  65198. s.DisableApiTermination = &v
  65199. return s
  65200. }
  65201. // SetDryRun sets the DryRun field's value.
  65202. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  65203. s.DryRun = &v
  65204. return s
  65205. }
  65206. // SetEbsOptimized sets the EbsOptimized field's value.
  65207. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  65208. s.EbsOptimized = &v
  65209. return s
  65210. }
  65211. // SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
  65212. func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
  65213. s.ElasticGpuSpecification = v
  65214. return s
  65215. }
  65216. // SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
  65217. func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
  65218. s.ElasticInferenceAccelerators = v
  65219. return s
  65220. }
  65221. // SetHibernationOptions sets the HibernationOptions field's value.
  65222. func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
  65223. s.HibernationOptions = v
  65224. return s
  65225. }
  65226. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  65227. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  65228. s.IamInstanceProfile = v
  65229. return s
  65230. }
  65231. // SetImageId sets the ImageId field's value.
  65232. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  65233. s.ImageId = &v
  65234. return s
  65235. }
  65236. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  65237. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  65238. s.InstanceInitiatedShutdownBehavior = &v
  65239. return s
  65240. }
  65241. // SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
  65242. func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
  65243. s.InstanceMarketOptions = v
  65244. return s
  65245. }
  65246. // SetInstanceType sets the InstanceType field's value.
  65247. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  65248. s.InstanceType = &v
  65249. return s
  65250. }
  65251. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  65252. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  65253. s.Ipv6AddressCount = &v
  65254. return s
  65255. }
  65256. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  65257. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  65258. s.Ipv6Addresses = v
  65259. return s
  65260. }
  65261. // SetKernelId sets the KernelId field's value.
  65262. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  65263. s.KernelId = &v
  65264. return s
  65265. }
  65266. // SetKeyName sets the KeyName field's value.
  65267. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  65268. s.KeyName = &v
  65269. return s
  65270. }
  65271. // SetLaunchTemplate sets the LaunchTemplate field's value.
  65272. func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
  65273. s.LaunchTemplate = v
  65274. return s
  65275. }
  65276. // SetLicenseSpecifications sets the LicenseSpecifications field's value.
  65277. func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
  65278. s.LicenseSpecifications = v
  65279. return s
  65280. }
  65281. // SetMaxCount sets the MaxCount field's value.
  65282. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  65283. s.MaxCount = &v
  65284. return s
  65285. }
  65286. // SetMinCount sets the MinCount field's value.
  65287. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  65288. s.MinCount = &v
  65289. return s
  65290. }
  65291. // SetMonitoring sets the Monitoring field's value.
  65292. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  65293. s.Monitoring = v
  65294. return s
  65295. }
  65296. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  65297. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  65298. s.NetworkInterfaces = v
  65299. return s
  65300. }
  65301. // SetPlacement sets the Placement field's value.
  65302. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  65303. s.Placement = v
  65304. return s
  65305. }
  65306. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  65307. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  65308. s.PrivateIpAddress = &v
  65309. return s
  65310. }
  65311. // SetRamdiskId sets the RamdiskId field's value.
  65312. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  65313. s.RamdiskId = &v
  65314. return s
  65315. }
  65316. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  65317. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  65318. s.SecurityGroupIds = v
  65319. return s
  65320. }
  65321. // SetSecurityGroups sets the SecurityGroups field's value.
  65322. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  65323. s.SecurityGroups = v
  65324. return s
  65325. }
  65326. // SetSubnetId sets the SubnetId field's value.
  65327. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  65328. s.SubnetId = &v
  65329. return s
  65330. }
  65331. // SetTagSpecifications sets the TagSpecifications field's value.
  65332. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  65333. s.TagSpecifications = v
  65334. return s
  65335. }
  65336. // SetUserData sets the UserData field's value.
  65337. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  65338. s.UserData = &v
  65339. return s
  65340. }
  65341. // Describes the monitoring of an instance.
  65342. type RunInstancesMonitoringEnabled struct {
  65343. _ struct{} `type:"structure"`
  65344. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  65345. // is enabled.
  65346. //
  65347. // Enabled is a required field
  65348. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  65349. }
  65350. // String returns the string representation
  65351. func (s RunInstancesMonitoringEnabled) String() string {
  65352. return awsutil.Prettify(s)
  65353. }
  65354. // GoString returns the string representation
  65355. func (s RunInstancesMonitoringEnabled) GoString() string {
  65356. return s.String()
  65357. }
  65358. // Validate inspects the fields of the type to determine if they are valid.
  65359. func (s *RunInstancesMonitoringEnabled) Validate() error {
  65360. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  65361. if s.Enabled == nil {
  65362. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  65363. }
  65364. if invalidParams.Len() > 0 {
  65365. return invalidParams
  65366. }
  65367. return nil
  65368. }
  65369. // SetEnabled sets the Enabled field's value.
  65370. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  65371. s.Enabled = &v
  65372. return s
  65373. }
  65374. // Contains the parameters for RunScheduledInstances.
  65375. type RunScheduledInstancesInput struct {
  65376. _ struct{} `type:"structure"`
  65377. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  65378. // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  65379. ClientToken *string `type:"string" idempotencyToken:"true"`
  65380. // Checks whether you have the required permissions for the action, without
  65381. // actually making the request, and provides an error response. If you have
  65382. // the required permissions, the error response is DryRunOperation. Otherwise,
  65383. // it is UnauthorizedOperation.
  65384. DryRun *bool `type:"boolean"`
  65385. // The number of instances.
  65386. //
  65387. // Default: 1
  65388. InstanceCount *int64 `type:"integer"`
  65389. // The launch specification. You must match the instance type, Availability
  65390. // Zone, network, and platform of the schedule that you purchased.
  65391. //
  65392. // LaunchSpecification is a required field
  65393. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  65394. // The Scheduled Instance ID.
  65395. //
  65396. // ScheduledInstanceId is a required field
  65397. ScheduledInstanceId *string `type:"string" required:"true"`
  65398. }
  65399. // String returns the string representation
  65400. func (s RunScheduledInstancesInput) String() string {
  65401. return awsutil.Prettify(s)
  65402. }
  65403. // GoString returns the string representation
  65404. func (s RunScheduledInstancesInput) GoString() string {
  65405. return s.String()
  65406. }
  65407. // Validate inspects the fields of the type to determine if they are valid.
  65408. func (s *RunScheduledInstancesInput) Validate() error {
  65409. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  65410. if s.LaunchSpecification == nil {
  65411. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  65412. }
  65413. if s.ScheduledInstanceId == nil {
  65414. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  65415. }
  65416. if s.LaunchSpecification != nil {
  65417. if err := s.LaunchSpecification.Validate(); err != nil {
  65418. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  65419. }
  65420. }
  65421. if invalidParams.Len() > 0 {
  65422. return invalidParams
  65423. }
  65424. return nil
  65425. }
  65426. // SetClientToken sets the ClientToken field's value.
  65427. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  65428. s.ClientToken = &v
  65429. return s
  65430. }
  65431. // SetDryRun sets the DryRun field's value.
  65432. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  65433. s.DryRun = &v
  65434. return s
  65435. }
  65436. // SetInstanceCount sets the InstanceCount field's value.
  65437. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  65438. s.InstanceCount = &v
  65439. return s
  65440. }
  65441. // SetLaunchSpecification sets the LaunchSpecification field's value.
  65442. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  65443. s.LaunchSpecification = v
  65444. return s
  65445. }
  65446. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  65447. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  65448. s.ScheduledInstanceId = &v
  65449. return s
  65450. }
  65451. // Contains the output of RunScheduledInstances.
  65452. type RunScheduledInstancesOutput struct {
  65453. _ struct{} `type:"structure"`
  65454. // The IDs of the newly launched instances.
  65455. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  65456. }
  65457. // String returns the string representation
  65458. func (s RunScheduledInstancesOutput) String() string {
  65459. return awsutil.Prettify(s)
  65460. }
  65461. // GoString returns the string representation
  65462. func (s RunScheduledInstancesOutput) GoString() string {
  65463. return s.String()
  65464. }
  65465. // SetInstanceIdSet sets the InstanceIdSet field's value.
  65466. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  65467. s.InstanceIdSet = v
  65468. return s
  65469. }
  65470. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  65471. // AMI.
  65472. type S3Storage struct {
  65473. _ struct{} `type:"structure"`
  65474. // The access key ID of the owner of the bucket. Before you specify a value
  65475. // for your access key ID, review and follow the guidance in Best Practices
  65476. // for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  65477. AWSAccessKeyId *string `type:"string"`
  65478. // The bucket in which to store the AMI. You can specify a bucket that you already
  65479. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  65480. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  65481. Bucket *string `locationName:"bucket" type:"string"`
  65482. // The beginning of the file name of the AMI.
  65483. Prefix *string `locationName:"prefix" type:"string"`
  65484. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  65485. // into Amazon S3 on your behalf.
  65486. //
  65487. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  65488. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  65489. // The signature of the JSON document.
  65490. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  65491. }
  65492. // String returns the string representation
  65493. func (s S3Storage) String() string {
  65494. return awsutil.Prettify(s)
  65495. }
  65496. // GoString returns the string representation
  65497. func (s S3Storage) GoString() string {
  65498. return s.String()
  65499. }
  65500. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  65501. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  65502. s.AWSAccessKeyId = &v
  65503. return s
  65504. }
  65505. // SetBucket sets the Bucket field's value.
  65506. func (s *S3Storage) SetBucket(v string) *S3Storage {
  65507. s.Bucket = &v
  65508. return s
  65509. }
  65510. // SetPrefix sets the Prefix field's value.
  65511. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  65512. s.Prefix = &v
  65513. return s
  65514. }
  65515. // SetUploadPolicy sets the UploadPolicy field's value.
  65516. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  65517. s.UploadPolicy = v
  65518. return s
  65519. }
  65520. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  65521. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  65522. s.UploadPolicySignature = &v
  65523. return s
  65524. }
  65525. // Describes a Scheduled Instance.
  65526. type ScheduledInstance struct {
  65527. _ struct{} `type:"structure"`
  65528. // The Availability Zone.
  65529. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  65530. // The date when the Scheduled Instance was purchased.
  65531. CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
  65532. // The hourly price for a single instance.
  65533. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  65534. // The number of instances.
  65535. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  65536. // The instance type.
  65537. InstanceType *string `locationName:"instanceType" type:"string"`
  65538. // The network platform (EC2-Classic or EC2-VPC).
  65539. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  65540. // The time for the next schedule to start.
  65541. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
  65542. // The platform (Linux/UNIX or Windows).
  65543. Platform *string `locationName:"platform" type:"string"`
  65544. // The time that the previous schedule ended or will end.
  65545. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
  65546. // The schedule recurrence.
  65547. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  65548. // The Scheduled Instance ID.
  65549. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  65550. // The number of hours in the schedule.
  65551. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  65552. // The end date for the Scheduled Instance.
  65553. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
  65554. // The start date for the Scheduled Instance.
  65555. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
  65556. // The total number of hours for a single instance for the entire term.
  65557. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  65558. }
  65559. // String returns the string representation
  65560. func (s ScheduledInstance) String() string {
  65561. return awsutil.Prettify(s)
  65562. }
  65563. // GoString returns the string representation
  65564. func (s ScheduledInstance) GoString() string {
  65565. return s.String()
  65566. }
  65567. // SetAvailabilityZone sets the AvailabilityZone field's value.
  65568. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  65569. s.AvailabilityZone = &v
  65570. return s
  65571. }
  65572. // SetCreateDate sets the CreateDate field's value.
  65573. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  65574. s.CreateDate = &v
  65575. return s
  65576. }
  65577. // SetHourlyPrice sets the HourlyPrice field's value.
  65578. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  65579. s.HourlyPrice = &v
  65580. return s
  65581. }
  65582. // SetInstanceCount sets the InstanceCount field's value.
  65583. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  65584. s.InstanceCount = &v
  65585. return s
  65586. }
  65587. // SetInstanceType sets the InstanceType field's value.
  65588. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  65589. s.InstanceType = &v
  65590. return s
  65591. }
  65592. // SetNetworkPlatform sets the NetworkPlatform field's value.
  65593. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  65594. s.NetworkPlatform = &v
  65595. return s
  65596. }
  65597. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  65598. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  65599. s.NextSlotStartTime = &v
  65600. return s
  65601. }
  65602. // SetPlatform sets the Platform field's value.
  65603. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  65604. s.Platform = &v
  65605. return s
  65606. }
  65607. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  65608. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  65609. s.PreviousSlotEndTime = &v
  65610. return s
  65611. }
  65612. // SetRecurrence sets the Recurrence field's value.
  65613. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  65614. s.Recurrence = v
  65615. return s
  65616. }
  65617. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  65618. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  65619. s.ScheduledInstanceId = &v
  65620. return s
  65621. }
  65622. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  65623. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  65624. s.SlotDurationInHours = &v
  65625. return s
  65626. }
  65627. // SetTermEndDate sets the TermEndDate field's value.
  65628. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  65629. s.TermEndDate = &v
  65630. return s
  65631. }
  65632. // SetTermStartDate sets the TermStartDate field's value.
  65633. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  65634. s.TermStartDate = &v
  65635. return s
  65636. }
  65637. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  65638. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  65639. s.TotalScheduledInstanceHours = &v
  65640. return s
  65641. }
  65642. // Describes a schedule that is available for your Scheduled Instances.
  65643. type ScheduledInstanceAvailability struct {
  65644. _ struct{} `type:"structure"`
  65645. // The Availability Zone.
  65646. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  65647. // The number of available instances.
  65648. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  65649. // The time period for the first schedule to start.
  65650. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
  65651. // The hourly price for a single instance.
  65652. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  65653. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  65654. // types.
  65655. InstanceType *string `locationName:"instanceType" type:"string"`
  65656. // The maximum term. The only possible value is 365 days.
  65657. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  65658. // The minimum term. The only possible value is 365 days.
  65659. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  65660. // The network platform (EC2-Classic or EC2-VPC).
  65661. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  65662. // The platform (Linux/UNIX or Windows).
  65663. Platform *string `locationName:"platform" type:"string"`
  65664. // The purchase token. This token expires in two hours.
  65665. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  65666. // The schedule recurrence.
  65667. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  65668. // The number of hours in the schedule.
  65669. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  65670. // The total number of hours for a single instance for the entire term.
  65671. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  65672. }
  65673. // String returns the string representation
  65674. func (s ScheduledInstanceAvailability) String() string {
  65675. return awsutil.Prettify(s)
  65676. }
  65677. // GoString returns the string representation
  65678. func (s ScheduledInstanceAvailability) GoString() string {
  65679. return s.String()
  65680. }
  65681. // SetAvailabilityZone sets the AvailabilityZone field's value.
  65682. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  65683. s.AvailabilityZone = &v
  65684. return s
  65685. }
  65686. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  65687. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  65688. s.AvailableInstanceCount = &v
  65689. return s
  65690. }
  65691. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  65692. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  65693. s.FirstSlotStartTime = &v
  65694. return s
  65695. }
  65696. // SetHourlyPrice sets the HourlyPrice field's value.
  65697. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  65698. s.HourlyPrice = &v
  65699. return s
  65700. }
  65701. // SetInstanceType sets the InstanceType field's value.
  65702. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  65703. s.InstanceType = &v
  65704. return s
  65705. }
  65706. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  65707. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  65708. s.MaxTermDurationInDays = &v
  65709. return s
  65710. }
  65711. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  65712. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  65713. s.MinTermDurationInDays = &v
  65714. return s
  65715. }
  65716. // SetNetworkPlatform sets the NetworkPlatform field's value.
  65717. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  65718. s.NetworkPlatform = &v
  65719. return s
  65720. }
  65721. // SetPlatform sets the Platform field's value.
  65722. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  65723. s.Platform = &v
  65724. return s
  65725. }
  65726. // SetPurchaseToken sets the PurchaseToken field's value.
  65727. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  65728. s.PurchaseToken = &v
  65729. return s
  65730. }
  65731. // SetRecurrence sets the Recurrence field's value.
  65732. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  65733. s.Recurrence = v
  65734. return s
  65735. }
  65736. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  65737. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  65738. s.SlotDurationInHours = &v
  65739. return s
  65740. }
  65741. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  65742. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  65743. s.TotalScheduledInstanceHours = &v
  65744. return s
  65745. }
  65746. // Describes the recurring schedule for a Scheduled Instance.
  65747. type ScheduledInstanceRecurrence struct {
  65748. _ struct{} `type:"structure"`
  65749. // The frequency (Daily, Weekly, or Monthly).
  65750. Frequency *string `locationName:"frequency" type:"string"`
  65751. // The interval quantity. The interval unit depends on the value of frequency.
  65752. // For example, every 2 weeks or every 2 months.
  65753. Interval *int64 `locationName:"interval" type:"integer"`
  65754. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  65755. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  65756. // is Sunday).
  65757. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  65758. // Indicates whether the occurrence is relative to the end of the specified
  65759. // week or month.
  65760. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  65761. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  65762. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  65763. }
  65764. // String returns the string representation
  65765. func (s ScheduledInstanceRecurrence) String() string {
  65766. return awsutil.Prettify(s)
  65767. }
  65768. // GoString returns the string representation
  65769. func (s ScheduledInstanceRecurrence) GoString() string {
  65770. return s.String()
  65771. }
  65772. // SetFrequency sets the Frequency field's value.
  65773. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  65774. s.Frequency = &v
  65775. return s
  65776. }
  65777. // SetInterval sets the Interval field's value.
  65778. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  65779. s.Interval = &v
  65780. return s
  65781. }
  65782. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  65783. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  65784. s.OccurrenceDaySet = v
  65785. return s
  65786. }
  65787. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  65788. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  65789. s.OccurrenceRelativeToEnd = &v
  65790. return s
  65791. }
  65792. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  65793. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  65794. s.OccurrenceUnit = &v
  65795. return s
  65796. }
  65797. // Describes the recurring schedule for a Scheduled Instance.
  65798. type ScheduledInstanceRecurrenceRequest struct {
  65799. _ struct{} `type:"structure"`
  65800. // The frequency (Daily, Weekly, or Monthly).
  65801. Frequency *string `type:"string"`
  65802. // The interval quantity. The interval unit depends on the value of Frequency.
  65803. // For example, every 2 weeks or every 2 months.
  65804. Interval *int64 `type:"integer"`
  65805. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  65806. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  65807. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  65808. // is relative to the end of the month, you can specify only a single day.
  65809. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  65810. // Indicates whether the occurrence is relative to the end of the specified
  65811. // week or month. You can't specify this value with a daily schedule.
  65812. OccurrenceRelativeToEnd *bool `type:"boolean"`
  65813. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  65814. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  65815. // You can't specify this value with a daily schedule.
  65816. OccurrenceUnit *string `type:"string"`
  65817. }
  65818. // String returns the string representation
  65819. func (s ScheduledInstanceRecurrenceRequest) String() string {
  65820. return awsutil.Prettify(s)
  65821. }
  65822. // GoString returns the string representation
  65823. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  65824. return s.String()
  65825. }
  65826. // SetFrequency sets the Frequency field's value.
  65827. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  65828. s.Frequency = &v
  65829. return s
  65830. }
  65831. // SetInterval sets the Interval field's value.
  65832. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  65833. s.Interval = &v
  65834. return s
  65835. }
  65836. // SetOccurrenceDays sets the OccurrenceDays field's value.
  65837. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  65838. s.OccurrenceDays = v
  65839. return s
  65840. }
  65841. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  65842. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  65843. s.OccurrenceRelativeToEnd = &v
  65844. return s
  65845. }
  65846. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  65847. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  65848. s.OccurrenceUnit = &v
  65849. return s
  65850. }
  65851. // Describes a block device mapping for a Scheduled Instance.
  65852. type ScheduledInstancesBlockDeviceMapping struct {
  65853. _ struct{} `type:"structure"`
  65854. // The device name (for example, /dev/sdh or xvdh).
  65855. DeviceName *string `type:"string"`
  65856. // Parameters used to set up EBS volumes automatically when the instance is
  65857. // launched.
  65858. Ebs *ScheduledInstancesEbs `type:"structure"`
  65859. // Suppresses the specified device included in the block device mapping of the
  65860. // AMI.
  65861. NoDevice *string `type:"string"`
  65862. // The virtual device name (ephemeralN). Instance store volumes are numbered
  65863. // starting from 0. An instance type with two available instance store volumes
  65864. // can specify mappings for ephemeral0 and ephemeral1. The number of available
  65865. // instance store volumes depends on the instance type. After you connect to
  65866. // the instance, you must mount the volume.
  65867. //
  65868. // Constraints: For M3 instances, you must specify instance store volumes in
  65869. // the block device mapping for the instance. When you launch an M3 instance,
  65870. // we ignore any instance store volumes specified in the block device mapping
  65871. // for the AMI.
  65872. VirtualName *string `type:"string"`
  65873. }
  65874. // String returns the string representation
  65875. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  65876. return awsutil.Prettify(s)
  65877. }
  65878. // GoString returns the string representation
  65879. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  65880. return s.String()
  65881. }
  65882. // SetDeviceName sets the DeviceName field's value.
  65883. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  65884. s.DeviceName = &v
  65885. return s
  65886. }
  65887. // SetEbs sets the Ebs field's value.
  65888. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  65889. s.Ebs = v
  65890. return s
  65891. }
  65892. // SetNoDevice sets the NoDevice field's value.
  65893. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  65894. s.NoDevice = &v
  65895. return s
  65896. }
  65897. // SetVirtualName sets the VirtualName field's value.
  65898. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  65899. s.VirtualName = &v
  65900. return s
  65901. }
  65902. // Describes an EBS volume for a Scheduled Instance.
  65903. type ScheduledInstancesEbs struct {
  65904. _ struct{} `type:"structure"`
  65905. // Indicates whether the volume is deleted on instance termination.
  65906. DeleteOnTermination *bool `type:"boolean"`
  65907. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  65908. // only to instances that support them.
  65909. Encrypted *bool `type:"boolean"`
  65910. // The number of I/O operations per second (IOPS) that the volume supports.
  65911. // For io1 volumes, this represents the number of IOPS that are provisioned
  65912. // for the volume. For gp2 volumes, this represents the baseline performance
  65913. // of the volume and the rate at which the volume accumulates I/O credits for
  65914. // bursting. For more information about gp2 baseline performance, I/O credits,
  65915. // and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  65916. // in the Amazon Elastic Compute Cloud User Guide.
  65917. //
  65918. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  65919. // gp2 volumes.
  65920. //
  65921. // Condition: This parameter is required for requests to create io1volumes;
  65922. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  65923. Iops *int64 `type:"integer"`
  65924. // The ID of the snapshot.
  65925. SnapshotId *string `type:"string"`
  65926. // The size of the volume, in GiB.
  65927. //
  65928. // Default: If you're creating the volume from a snapshot and don't specify
  65929. // a volume size, the default is the snapshot size.
  65930. VolumeSize *int64 `type:"integer"`
  65931. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  65932. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  65933. //
  65934. // Default: standard
  65935. VolumeType *string `type:"string"`
  65936. }
  65937. // String returns the string representation
  65938. func (s ScheduledInstancesEbs) String() string {
  65939. return awsutil.Prettify(s)
  65940. }
  65941. // GoString returns the string representation
  65942. func (s ScheduledInstancesEbs) GoString() string {
  65943. return s.String()
  65944. }
  65945. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  65946. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  65947. s.DeleteOnTermination = &v
  65948. return s
  65949. }
  65950. // SetEncrypted sets the Encrypted field's value.
  65951. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  65952. s.Encrypted = &v
  65953. return s
  65954. }
  65955. // SetIops sets the Iops field's value.
  65956. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  65957. s.Iops = &v
  65958. return s
  65959. }
  65960. // SetSnapshotId sets the SnapshotId field's value.
  65961. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  65962. s.SnapshotId = &v
  65963. return s
  65964. }
  65965. // SetVolumeSize sets the VolumeSize field's value.
  65966. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  65967. s.VolumeSize = &v
  65968. return s
  65969. }
  65970. // SetVolumeType sets the VolumeType field's value.
  65971. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  65972. s.VolumeType = &v
  65973. return s
  65974. }
  65975. // Describes an IAM instance profile for a Scheduled Instance.
  65976. type ScheduledInstancesIamInstanceProfile struct {
  65977. _ struct{} `type:"structure"`
  65978. // The Amazon Resource Name (ARN).
  65979. Arn *string `type:"string"`
  65980. // The name.
  65981. Name *string `type:"string"`
  65982. }
  65983. // String returns the string representation
  65984. func (s ScheduledInstancesIamInstanceProfile) String() string {
  65985. return awsutil.Prettify(s)
  65986. }
  65987. // GoString returns the string representation
  65988. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  65989. return s.String()
  65990. }
  65991. // SetArn sets the Arn field's value.
  65992. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  65993. s.Arn = &v
  65994. return s
  65995. }
  65996. // SetName sets the Name field's value.
  65997. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  65998. s.Name = &v
  65999. return s
  66000. }
  66001. // Describes an IPv6 address.
  66002. type ScheduledInstancesIpv6Address struct {
  66003. _ struct{} `type:"structure"`
  66004. // The IPv6 address.
  66005. Ipv6Address *string `type:"string"`
  66006. }
  66007. // String returns the string representation
  66008. func (s ScheduledInstancesIpv6Address) String() string {
  66009. return awsutil.Prettify(s)
  66010. }
  66011. // GoString returns the string representation
  66012. func (s ScheduledInstancesIpv6Address) GoString() string {
  66013. return s.String()
  66014. }
  66015. // SetIpv6Address sets the Ipv6Address field's value.
  66016. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  66017. s.Ipv6Address = &v
  66018. return s
  66019. }
  66020. // Describes the launch specification for a Scheduled Instance.
  66021. //
  66022. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  66023. // the ID of the subnet. You can specify the subnet using either SubnetId or
  66024. // NetworkInterface.
  66025. type ScheduledInstancesLaunchSpecification struct {
  66026. _ struct{} `type:"structure"`
  66027. // One or more block device mapping entries.
  66028. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  66029. // Indicates whether the instances are optimized for EBS I/O. This optimization
  66030. // provides dedicated throughput to Amazon EBS and an optimized configuration
  66031. // stack to provide optimal EBS I/O performance. This optimization isn't available
  66032. // with all instance types. Additional usage charges apply when using an EBS-optimized
  66033. // instance.
  66034. //
  66035. // Default: false
  66036. EbsOptimized *bool `type:"boolean"`
  66037. // The IAM instance profile.
  66038. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  66039. // The ID of the Amazon Machine Image (AMI).
  66040. //
  66041. // ImageId is a required field
  66042. ImageId *string `type:"string" required:"true"`
  66043. // The instance type.
  66044. InstanceType *string `type:"string"`
  66045. // The ID of the kernel.
  66046. KernelId *string `type:"string"`
  66047. // The name of the key pair.
  66048. KeyName *string `type:"string"`
  66049. // Enable or disable monitoring for the instances.
  66050. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  66051. // One or more network interfaces.
  66052. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  66053. // The placement information.
  66054. Placement *ScheduledInstancesPlacement `type:"structure"`
  66055. // The ID of the RAM disk.
  66056. RamdiskId *string `type:"string"`
  66057. // The IDs of one or more security groups.
  66058. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  66059. // The ID of the subnet in which to launch the instances.
  66060. SubnetId *string `type:"string"`
  66061. // The base64-encoded MIME user data.
  66062. UserData *string `type:"string"`
  66063. }
  66064. // String returns the string representation
  66065. func (s ScheduledInstancesLaunchSpecification) String() string {
  66066. return awsutil.Prettify(s)
  66067. }
  66068. // GoString returns the string representation
  66069. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  66070. return s.String()
  66071. }
  66072. // Validate inspects the fields of the type to determine if they are valid.
  66073. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  66074. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  66075. if s.ImageId == nil {
  66076. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  66077. }
  66078. if invalidParams.Len() > 0 {
  66079. return invalidParams
  66080. }
  66081. return nil
  66082. }
  66083. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  66084. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  66085. s.BlockDeviceMappings = v
  66086. return s
  66087. }
  66088. // SetEbsOptimized sets the EbsOptimized field's value.
  66089. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  66090. s.EbsOptimized = &v
  66091. return s
  66092. }
  66093. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  66094. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  66095. s.IamInstanceProfile = v
  66096. return s
  66097. }
  66098. // SetImageId sets the ImageId field's value.
  66099. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  66100. s.ImageId = &v
  66101. return s
  66102. }
  66103. // SetInstanceType sets the InstanceType field's value.
  66104. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  66105. s.InstanceType = &v
  66106. return s
  66107. }
  66108. // SetKernelId sets the KernelId field's value.
  66109. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  66110. s.KernelId = &v
  66111. return s
  66112. }
  66113. // SetKeyName sets the KeyName field's value.
  66114. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  66115. s.KeyName = &v
  66116. return s
  66117. }
  66118. // SetMonitoring sets the Monitoring field's value.
  66119. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  66120. s.Monitoring = v
  66121. return s
  66122. }
  66123. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  66124. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  66125. s.NetworkInterfaces = v
  66126. return s
  66127. }
  66128. // SetPlacement sets the Placement field's value.
  66129. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  66130. s.Placement = v
  66131. return s
  66132. }
  66133. // SetRamdiskId sets the RamdiskId field's value.
  66134. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  66135. s.RamdiskId = &v
  66136. return s
  66137. }
  66138. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  66139. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  66140. s.SecurityGroupIds = v
  66141. return s
  66142. }
  66143. // SetSubnetId sets the SubnetId field's value.
  66144. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  66145. s.SubnetId = &v
  66146. return s
  66147. }
  66148. // SetUserData sets the UserData field's value.
  66149. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  66150. s.UserData = &v
  66151. return s
  66152. }
  66153. // Describes whether monitoring is enabled for a Scheduled Instance.
  66154. type ScheduledInstancesMonitoring struct {
  66155. _ struct{} `type:"structure"`
  66156. // Indicates whether monitoring is enabled.
  66157. Enabled *bool `type:"boolean"`
  66158. }
  66159. // String returns the string representation
  66160. func (s ScheduledInstancesMonitoring) String() string {
  66161. return awsutil.Prettify(s)
  66162. }
  66163. // GoString returns the string representation
  66164. func (s ScheduledInstancesMonitoring) GoString() string {
  66165. return s.String()
  66166. }
  66167. // SetEnabled sets the Enabled field's value.
  66168. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  66169. s.Enabled = &v
  66170. return s
  66171. }
  66172. // Describes a network interface for a Scheduled Instance.
  66173. type ScheduledInstancesNetworkInterface struct {
  66174. _ struct{} `type:"structure"`
  66175. // Indicates whether to assign a public IPv4 address to instances launched in
  66176. // a VPC. The public IPv4 address can only be assigned to a network interface
  66177. // for eth0, and can only be assigned to a new network interface, not an existing
  66178. // one. You cannot specify more than one network interface in the request. If
  66179. // launching into a default subnet, the default value is true.
  66180. AssociatePublicIpAddress *bool `type:"boolean"`
  66181. // Indicates whether to delete the interface when the instance is terminated.
  66182. DeleteOnTermination *bool `type:"boolean"`
  66183. // The description.
  66184. Description *string `type:"string"`
  66185. // The index of the device for the network interface attachment.
  66186. DeviceIndex *int64 `type:"integer"`
  66187. // The IDs of one or more security groups.
  66188. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  66189. // The number of IPv6 addresses to assign to the network interface. The IPv6
  66190. // addresses are automatically selected from the subnet range.
  66191. Ipv6AddressCount *int64 `type:"integer"`
  66192. // One or more specific IPv6 addresses from the subnet range.
  66193. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  66194. // The ID of the network interface.
  66195. NetworkInterfaceId *string `type:"string"`
  66196. // The IPv4 address of the network interface within the subnet.
  66197. PrivateIpAddress *string `type:"string"`
  66198. // The private IPv4 addresses.
  66199. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  66200. // The number of secondary private IPv4 addresses.
  66201. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  66202. // The ID of the subnet.
  66203. SubnetId *string `type:"string"`
  66204. }
  66205. // String returns the string representation
  66206. func (s ScheduledInstancesNetworkInterface) String() string {
  66207. return awsutil.Prettify(s)
  66208. }
  66209. // GoString returns the string representation
  66210. func (s ScheduledInstancesNetworkInterface) GoString() string {
  66211. return s.String()
  66212. }
  66213. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  66214. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  66215. s.AssociatePublicIpAddress = &v
  66216. return s
  66217. }
  66218. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  66219. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  66220. s.DeleteOnTermination = &v
  66221. return s
  66222. }
  66223. // SetDescription sets the Description field's value.
  66224. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  66225. s.Description = &v
  66226. return s
  66227. }
  66228. // SetDeviceIndex sets the DeviceIndex field's value.
  66229. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  66230. s.DeviceIndex = &v
  66231. return s
  66232. }
  66233. // SetGroups sets the Groups field's value.
  66234. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  66235. s.Groups = v
  66236. return s
  66237. }
  66238. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  66239. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  66240. s.Ipv6AddressCount = &v
  66241. return s
  66242. }
  66243. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  66244. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  66245. s.Ipv6Addresses = v
  66246. return s
  66247. }
  66248. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  66249. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  66250. s.NetworkInterfaceId = &v
  66251. return s
  66252. }
  66253. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  66254. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  66255. s.PrivateIpAddress = &v
  66256. return s
  66257. }
  66258. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  66259. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  66260. s.PrivateIpAddressConfigs = v
  66261. return s
  66262. }
  66263. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  66264. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  66265. s.SecondaryPrivateIpAddressCount = &v
  66266. return s
  66267. }
  66268. // SetSubnetId sets the SubnetId field's value.
  66269. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  66270. s.SubnetId = &v
  66271. return s
  66272. }
  66273. // Describes the placement for a Scheduled Instance.
  66274. type ScheduledInstancesPlacement struct {
  66275. _ struct{} `type:"structure"`
  66276. // The Availability Zone.
  66277. AvailabilityZone *string `type:"string"`
  66278. // The name of the placement group.
  66279. GroupName *string `type:"string"`
  66280. }
  66281. // String returns the string representation
  66282. func (s ScheduledInstancesPlacement) String() string {
  66283. return awsutil.Prettify(s)
  66284. }
  66285. // GoString returns the string representation
  66286. func (s ScheduledInstancesPlacement) GoString() string {
  66287. return s.String()
  66288. }
  66289. // SetAvailabilityZone sets the AvailabilityZone field's value.
  66290. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  66291. s.AvailabilityZone = &v
  66292. return s
  66293. }
  66294. // SetGroupName sets the GroupName field's value.
  66295. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  66296. s.GroupName = &v
  66297. return s
  66298. }
  66299. // Describes a private IPv4 address for a Scheduled Instance.
  66300. type ScheduledInstancesPrivateIpAddressConfig struct {
  66301. _ struct{} `type:"structure"`
  66302. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  66303. // IPv4 address.
  66304. Primary *bool `type:"boolean"`
  66305. // The IPv4 address.
  66306. PrivateIpAddress *string `type:"string"`
  66307. }
  66308. // String returns the string representation
  66309. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  66310. return awsutil.Prettify(s)
  66311. }
  66312. // GoString returns the string representation
  66313. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  66314. return s.String()
  66315. }
  66316. // SetPrimary sets the Primary field's value.
  66317. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  66318. s.Primary = &v
  66319. return s
  66320. }
  66321. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  66322. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  66323. s.PrivateIpAddress = &v
  66324. return s
  66325. }
  66326. type SearchTransitGatewayRoutesInput struct {
  66327. _ struct{} `type:"structure"`
  66328. // Checks whether you have the required permissions for the action, without
  66329. // actually making the request, and provides an error response. If you have
  66330. // the required permissions, the error response is DryRunOperation. Otherwise,
  66331. // it is UnauthorizedOperation.
  66332. DryRun *bool `type:"boolean"`
  66333. // One or more filters. The possible values are:
  66334. //
  66335. // * attachment.transit-gateway-attachment-id- The id of the transit gateway
  66336. // attachment.
  66337. //
  66338. // * attachment.resource-id - The resource id of the transit gateway attachment.
  66339. //
  66340. // * attachment.resource-type - The attachment resource type (vpc | vpn).
  66341. //
  66342. // * route-search.exact-match - The exact match of the specified filter.
  66343. //
  66344. // * route-search.longest-prefix-match - The longest prefix that matches
  66345. // the route.
  66346. //
  66347. // * route-search.subnet-of-match - The routes with a subnet that match the
  66348. // specified CIDR filter.
  66349. //
  66350. // * route-search.supernet-of-match - The routes with a CIDR that encompass
  66351. // the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
  66352. // routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
  66353. // then the result returns 10.0.1.0/29.
  66354. //
  66355. // * state - The state of the attachment (available | deleted | deleting
  66356. // | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
  66357. // | rejecting).
  66358. //
  66359. // * type - The type of roue (active | blackhole).
  66360. //
  66361. // Filters is a required field
  66362. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
  66363. // The maximum number of routes to return.
  66364. MaxResults *int64 `min:"5" type:"integer"`
  66365. // The ID of the transit gateway route table.
  66366. //
  66367. // TransitGatewayRouteTableId is a required field
  66368. TransitGatewayRouteTableId *string `type:"string" required:"true"`
  66369. }
  66370. // String returns the string representation
  66371. func (s SearchTransitGatewayRoutesInput) String() string {
  66372. return awsutil.Prettify(s)
  66373. }
  66374. // GoString returns the string representation
  66375. func (s SearchTransitGatewayRoutesInput) GoString() string {
  66376. return s.String()
  66377. }
  66378. // Validate inspects the fields of the type to determine if they are valid.
  66379. func (s *SearchTransitGatewayRoutesInput) Validate() error {
  66380. invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
  66381. if s.Filters == nil {
  66382. invalidParams.Add(request.NewErrParamRequired("Filters"))
  66383. }
  66384. if s.MaxResults != nil && *s.MaxResults < 5 {
  66385. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  66386. }
  66387. if s.TransitGatewayRouteTableId == nil {
  66388. invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
  66389. }
  66390. if invalidParams.Len() > 0 {
  66391. return invalidParams
  66392. }
  66393. return nil
  66394. }
  66395. // SetDryRun sets the DryRun field's value.
  66396. func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
  66397. s.DryRun = &v
  66398. return s
  66399. }
  66400. // SetFilters sets the Filters field's value.
  66401. func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
  66402. s.Filters = v
  66403. return s
  66404. }
  66405. // SetMaxResults sets the MaxResults field's value.
  66406. func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
  66407. s.MaxResults = &v
  66408. return s
  66409. }
  66410. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  66411. func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
  66412. s.TransitGatewayRouteTableId = &v
  66413. return s
  66414. }
  66415. type SearchTransitGatewayRoutesOutput struct {
  66416. _ struct{} `type:"structure"`
  66417. // Indicates whether there are additional routes available.
  66418. AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
  66419. // Information about the routes.
  66420. Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
  66421. }
  66422. // String returns the string representation
  66423. func (s SearchTransitGatewayRoutesOutput) String() string {
  66424. return awsutil.Prettify(s)
  66425. }
  66426. // GoString returns the string representation
  66427. func (s SearchTransitGatewayRoutesOutput) GoString() string {
  66428. return s.String()
  66429. }
  66430. // SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
  66431. func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
  66432. s.AdditionalRoutesAvailable = &v
  66433. return s
  66434. }
  66435. // SetRoutes sets the Routes field's value.
  66436. func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
  66437. s.Routes = v
  66438. return s
  66439. }
  66440. // Describes a security group
  66441. type SecurityGroup struct {
  66442. _ struct{} `type:"structure"`
  66443. // A description of the security group.
  66444. Description *string `locationName:"groupDescription" type:"string"`
  66445. // The ID of the security group.
  66446. GroupId *string `locationName:"groupId" type:"string"`
  66447. // The name of the security group.
  66448. GroupName *string `locationName:"groupName" type:"string"`
  66449. // One or more inbound rules associated with the security group.
  66450. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  66451. // [EC2-VPC] One or more outbound rules associated with the security group.
  66452. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  66453. // The AWS account ID of the owner of the security group.
  66454. OwnerId *string `locationName:"ownerId" type:"string"`
  66455. // Any tags assigned to the security group.
  66456. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  66457. // [EC2-VPC] The ID of the VPC for the security group.
  66458. VpcId *string `locationName:"vpcId" type:"string"`
  66459. }
  66460. // String returns the string representation
  66461. func (s SecurityGroup) String() string {
  66462. return awsutil.Prettify(s)
  66463. }
  66464. // GoString returns the string representation
  66465. func (s SecurityGroup) GoString() string {
  66466. return s.String()
  66467. }
  66468. // SetDescription sets the Description field's value.
  66469. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  66470. s.Description = &v
  66471. return s
  66472. }
  66473. // SetGroupId sets the GroupId field's value.
  66474. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  66475. s.GroupId = &v
  66476. return s
  66477. }
  66478. // SetGroupName sets the GroupName field's value.
  66479. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  66480. s.GroupName = &v
  66481. return s
  66482. }
  66483. // SetIpPermissions sets the IpPermissions field's value.
  66484. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  66485. s.IpPermissions = v
  66486. return s
  66487. }
  66488. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  66489. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  66490. s.IpPermissionsEgress = v
  66491. return s
  66492. }
  66493. // SetOwnerId sets the OwnerId field's value.
  66494. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  66495. s.OwnerId = &v
  66496. return s
  66497. }
  66498. // SetTags sets the Tags field's value.
  66499. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  66500. s.Tags = v
  66501. return s
  66502. }
  66503. // SetVpcId sets the VpcId field's value.
  66504. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  66505. s.VpcId = &v
  66506. return s
  66507. }
  66508. // Describes a security group.
  66509. type SecurityGroupIdentifier struct {
  66510. _ struct{} `type:"structure"`
  66511. // The ID of the security group.
  66512. GroupId *string `locationName:"groupId" type:"string"`
  66513. // The name of the security group.
  66514. GroupName *string `locationName:"groupName" type:"string"`
  66515. }
  66516. // String returns the string representation
  66517. func (s SecurityGroupIdentifier) String() string {
  66518. return awsutil.Prettify(s)
  66519. }
  66520. // GoString returns the string representation
  66521. func (s SecurityGroupIdentifier) GoString() string {
  66522. return s.String()
  66523. }
  66524. // SetGroupId sets the GroupId field's value.
  66525. func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
  66526. s.GroupId = &v
  66527. return s
  66528. }
  66529. // SetGroupName sets the GroupName field's value.
  66530. func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
  66531. s.GroupName = &v
  66532. return s
  66533. }
  66534. // Describes a VPC with a security group that references your security group.
  66535. type SecurityGroupReference struct {
  66536. _ struct{} `type:"structure"`
  66537. // The ID of your security group.
  66538. GroupId *string `locationName:"groupId" type:"string"`
  66539. // The ID of the VPC with the referencing security group.
  66540. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
  66541. // The ID of the VPC peering connection.
  66542. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  66543. }
  66544. // String returns the string representation
  66545. func (s SecurityGroupReference) String() string {
  66546. return awsutil.Prettify(s)
  66547. }
  66548. // GoString returns the string representation
  66549. func (s SecurityGroupReference) GoString() string {
  66550. return s.String()
  66551. }
  66552. // SetGroupId sets the GroupId field's value.
  66553. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  66554. s.GroupId = &v
  66555. return s
  66556. }
  66557. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  66558. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  66559. s.ReferencingVpcId = &v
  66560. return s
  66561. }
  66562. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  66563. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  66564. s.VpcPeeringConnectionId = &v
  66565. return s
  66566. }
  66567. // Describes a service configuration for a VPC endpoint service.
  66568. type ServiceConfiguration struct {
  66569. _ struct{} `type:"structure"`
  66570. // Indicates whether requests from other AWS accounts to create an endpoint
  66571. // to the service must first be accepted.
  66572. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  66573. // In the Availability Zones in which the service is available.
  66574. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  66575. // The DNS names for the service.
  66576. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  66577. // The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
  66578. NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
  66579. // The private DNS name for the service.
  66580. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  66581. // The ID of the service.
  66582. ServiceId *string `locationName:"serviceId" type:"string"`
  66583. // The name of the service.
  66584. ServiceName *string `locationName:"serviceName" type:"string"`
  66585. // The service state.
  66586. ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
  66587. // The type of service.
  66588. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  66589. }
  66590. // String returns the string representation
  66591. func (s ServiceConfiguration) String() string {
  66592. return awsutil.Prettify(s)
  66593. }
  66594. // GoString returns the string representation
  66595. func (s ServiceConfiguration) GoString() string {
  66596. return s.String()
  66597. }
  66598. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  66599. func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
  66600. s.AcceptanceRequired = &v
  66601. return s
  66602. }
  66603. // SetAvailabilityZones sets the AvailabilityZones field's value.
  66604. func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
  66605. s.AvailabilityZones = v
  66606. return s
  66607. }
  66608. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  66609. func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
  66610. s.BaseEndpointDnsNames = v
  66611. return s
  66612. }
  66613. // SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
  66614. func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
  66615. s.NetworkLoadBalancerArns = v
  66616. return s
  66617. }
  66618. // SetPrivateDnsName sets the PrivateDnsName field's value.
  66619. func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
  66620. s.PrivateDnsName = &v
  66621. return s
  66622. }
  66623. // SetServiceId sets the ServiceId field's value.
  66624. func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
  66625. s.ServiceId = &v
  66626. return s
  66627. }
  66628. // SetServiceName sets the ServiceName field's value.
  66629. func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
  66630. s.ServiceName = &v
  66631. return s
  66632. }
  66633. // SetServiceState sets the ServiceState field's value.
  66634. func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
  66635. s.ServiceState = &v
  66636. return s
  66637. }
  66638. // SetServiceType sets the ServiceType field's value.
  66639. func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
  66640. s.ServiceType = v
  66641. return s
  66642. }
  66643. // Describes a VPC endpoint service.
  66644. type ServiceDetail struct {
  66645. _ struct{} `type:"structure"`
  66646. // Indicates whether VPC endpoint connection requests to the service must be
  66647. // accepted by the service owner.
  66648. AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
  66649. // The Availability Zones in which the service is available.
  66650. AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
  66651. // The DNS names for the service.
  66652. BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
  66653. // The AWS account ID of the service owner.
  66654. Owner *string `locationName:"owner" type:"string"`
  66655. // The private DNS name for the service.
  66656. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  66657. // The Amazon Resource Name (ARN) of the service.
  66658. ServiceName *string `locationName:"serviceName" type:"string"`
  66659. // The type of service.
  66660. ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
  66661. // Indicates whether the service supports endpoint policies.
  66662. VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
  66663. }
  66664. // String returns the string representation
  66665. func (s ServiceDetail) String() string {
  66666. return awsutil.Prettify(s)
  66667. }
  66668. // GoString returns the string representation
  66669. func (s ServiceDetail) GoString() string {
  66670. return s.String()
  66671. }
  66672. // SetAcceptanceRequired sets the AcceptanceRequired field's value.
  66673. func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
  66674. s.AcceptanceRequired = &v
  66675. return s
  66676. }
  66677. // SetAvailabilityZones sets the AvailabilityZones field's value.
  66678. func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
  66679. s.AvailabilityZones = v
  66680. return s
  66681. }
  66682. // SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
  66683. func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
  66684. s.BaseEndpointDnsNames = v
  66685. return s
  66686. }
  66687. // SetOwner sets the Owner field's value.
  66688. func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
  66689. s.Owner = &v
  66690. return s
  66691. }
  66692. // SetPrivateDnsName sets the PrivateDnsName field's value.
  66693. func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
  66694. s.PrivateDnsName = &v
  66695. return s
  66696. }
  66697. // SetServiceName sets the ServiceName field's value.
  66698. func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
  66699. s.ServiceName = &v
  66700. return s
  66701. }
  66702. // SetServiceType sets the ServiceType field's value.
  66703. func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
  66704. s.ServiceType = v
  66705. return s
  66706. }
  66707. // SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
  66708. func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
  66709. s.VpcEndpointPolicySupported = &v
  66710. return s
  66711. }
  66712. // Describes the type of service for a VPC endpoint.
  66713. type ServiceTypeDetail struct {
  66714. _ struct{} `type:"structure"`
  66715. // The type of service.
  66716. ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
  66717. }
  66718. // String returns the string representation
  66719. func (s ServiceTypeDetail) String() string {
  66720. return awsutil.Prettify(s)
  66721. }
  66722. // GoString returns the string representation
  66723. func (s ServiceTypeDetail) GoString() string {
  66724. return s.String()
  66725. }
  66726. // SetServiceType sets the ServiceType field's value.
  66727. func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
  66728. s.ServiceType = &v
  66729. return s
  66730. }
  66731. // Describes the time period for a Scheduled Instance to start its first schedule.
  66732. // The time period must span less than one day.
  66733. type SlotDateTimeRangeRequest struct {
  66734. _ struct{} `type:"structure"`
  66735. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  66736. //
  66737. // EarliestTime is a required field
  66738. EarliestTime *time.Time `type:"timestamp" required:"true"`
  66739. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  66740. // value must be later than or equal to the earliest date and at most three
  66741. // months in the future.
  66742. //
  66743. // LatestTime is a required field
  66744. LatestTime *time.Time `type:"timestamp" required:"true"`
  66745. }
  66746. // String returns the string representation
  66747. func (s SlotDateTimeRangeRequest) String() string {
  66748. return awsutil.Prettify(s)
  66749. }
  66750. // GoString returns the string representation
  66751. func (s SlotDateTimeRangeRequest) GoString() string {
  66752. return s.String()
  66753. }
  66754. // Validate inspects the fields of the type to determine if they are valid.
  66755. func (s *SlotDateTimeRangeRequest) Validate() error {
  66756. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  66757. if s.EarliestTime == nil {
  66758. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  66759. }
  66760. if s.LatestTime == nil {
  66761. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  66762. }
  66763. if invalidParams.Len() > 0 {
  66764. return invalidParams
  66765. }
  66766. return nil
  66767. }
  66768. // SetEarliestTime sets the EarliestTime field's value.
  66769. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  66770. s.EarliestTime = &v
  66771. return s
  66772. }
  66773. // SetLatestTime sets the LatestTime field's value.
  66774. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  66775. s.LatestTime = &v
  66776. return s
  66777. }
  66778. // Describes the time period for a Scheduled Instance to start its first schedule.
  66779. type SlotStartTimeRangeRequest struct {
  66780. _ struct{} `type:"structure"`
  66781. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  66782. EarliestTime *time.Time `type:"timestamp"`
  66783. // The latest date and time, in UTC, for the Scheduled Instance to start.
  66784. LatestTime *time.Time `type:"timestamp"`
  66785. }
  66786. // String returns the string representation
  66787. func (s SlotStartTimeRangeRequest) String() string {
  66788. return awsutil.Prettify(s)
  66789. }
  66790. // GoString returns the string representation
  66791. func (s SlotStartTimeRangeRequest) GoString() string {
  66792. return s.String()
  66793. }
  66794. // SetEarliestTime sets the EarliestTime field's value.
  66795. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  66796. s.EarliestTime = &v
  66797. return s
  66798. }
  66799. // SetLatestTime sets the LatestTime field's value.
  66800. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  66801. s.LatestTime = &v
  66802. return s
  66803. }
  66804. // Describes a snapshot.
  66805. type Snapshot struct {
  66806. _ struct{} `type:"structure"`
  66807. // The data encryption key identifier for the snapshot. This value is a unique
  66808. // identifier that corresponds to the data encryption key that was used to encrypt
  66809. // the original volume or snapshot copy. Because data encryption keys are inherited
  66810. // by volumes created from snapshots, and vice versa, if snapshots share the
  66811. // same data encryption key identifier, then they belong to the same volume/snapshot
  66812. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  66813. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  66814. // The description for the snapshot.
  66815. Description *string `locationName:"description" type:"string"`
  66816. // Indicates whether the snapshot is encrypted.
  66817. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  66818. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  66819. // key (CMK) that was used to protect the volume encryption key for the parent
  66820. // volume.
  66821. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  66822. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  66823. // of snapshot owners. Not to be confused with the user-configured AWS account
  66824. // alias, which is set from the IAM console.
  66825. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  66826. // The AWS account ID of the EBS snapshot owner.
  66827. OwnerId *string `locationName:"ownerId" type:"string"`
  66828. // The progress of the snapshot, as a percentage.
  66829. Progress *string `locationName:"progress" type:"string"`
  66830. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  66831. // is created.
  66832. SnapshotId *string `locationName:"snapshotId" type:"string"`
  66833. // The time stamp when the snapshot was initiated.
  66834. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  66835. // The snapshot state.
  66836. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  66837. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  66838. // operation fails (for example, if the proper AWS Key Management Service (AWS
  66839. // KMS) permissions are not obtained) this field displays error state details
  66840. // to help you diagnose why the error occurred. This parameter is only returned
  66841. // by the DescribeSnapshots API operation.
  66842. StateMessage *string `locationName:"statusMessage" type:"string"`
  66843. // Any tags assigned to the snapshot.
  66844. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  66845. // The ID of the volume that was used to create the snapshot. Snapshots created
  66846. // by the CopySnapshot action have an arbitrary volume ID that should not be
  66847. // used for any purpose.
  66848. VolumeId *string `locationName:"volumeId" type:"string"`
  66849. // The size of the volume, in GiB.
  66850. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  66851. }
  66852. // String returns the string representation
  66853. func (s Snapshot) String() string {
  66854. return awsutil.Prettify(s)
  66855. }
  66856. // GoString returns the string representation
  66857. func (s Snapshot) GoString() string {
  66858. return s.String()
  66859. }
  66860. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  66861. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  66862. s.DataEncryptionKeyId = &v
  66863. return s
  66864. }
  66865. // SetDescription sets the Description field's value.
  66866. func (s *Snapshot) SetDescription(v string) *Snapshot {
  66867. s.Description = &v
  66868. return s
  66869. }
  66870. // SetEncrypted sets the Encrypted field's value.
  66871. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  66872. s.Encrypted = &v
  66873. return s
  66874. }
  66875. // SetKmsKeyId sets the KmsKeyId field's value.
  66876. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  66877. s.KmsKeyId = &v
  66878. return s
  66879. }
  66880. // SetOwnerAlias sets the OwnerAlias field's value.
  66881. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  66882. s.OwnerAlias = &v
  66883. return s
  66884. }
  66885. // SetOwnerId sets the OwnerId field's value.
  66886. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  66887. s.OwnerId = &v
  66888. return s
  66889. }
  66890. // SetProgress sets the Progress field's value.
  66891. func (s *Snapshot) SetProgress(v string) *Snapshot {
  66892. s.Progress = &v
  66893. return s
  66894. }
  66895. // SetSnapshotId sets the SnapshotId field's value.
  66896. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  66897. s.SnapshotId = &v
  66898. return s
  66899. }
  66900. // SetStartTime sets the StartTime field's value.
  66901. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  66902. s.StartTime = &v
  66903. return s
  66904. }
  66905. // SetState sets the State field's value.
  66906. func (s *Snapshot) SetState(v string) *Snapshot {
  66907. s.State = &v
  66908. return s
  66909. }
  66910. // SetStateMessage sets the StateMessage field's value.
  66911. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  66912. s.StateMessage = &v
  66913. return s
  66914. }
  66915. // SetTags sets the Tags field's value.
  66916. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  66917. s.Tags = v
  66918. return s
  66919. }
  66920. // SetVolumeId sets the VolumeId field's value.
  66921. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  66922. s.VolumeId = &v
  66923. return s
  66924. }
  66925. // SetVolumeSize sets the VolumeSize field's value.
  66926. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  66927. s.VolumeSize = &v
  66928. return s
  66929. }
  66930. // Describes the snapshot created from the imported disk.
  66931. type SnapshotDetail struct {
  66932. _ struct{} `type:"structure"`
  66933. // A description for the snapshot.
  66934. Description *string `locationName:"description" type:"string"`
  66935. // The block device mapping for the snapshot.
  66936. DeviceName *string `locationName:"deviceName" type:"string"`
  66937. // The size of the disk in the snapshot, in GiB.
  66938. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  66939. // The format of the disk image from which the snapshot is created.
  66940. Format *string `locationName:"format" type:"string"`
  66941. // The percentage of progress for the task.
  66942. Progress *string `locationName:"progress" type:"string"`
  66943. // The snapshot ID of the disk being imported.
  66944. SnapshotId *string `locationName:"snapshotId" type:"string"`
  66945. // A brief status of the snapshot creation.
  66946. Status *string `locationName:"status" type:"string"`
  66947. // A detailed status message for the snapshot creation.
  66948. StatusMessage *string `locationName:"statusMessage" type:"string"`
  66949. // The URL used to access the disk image.
  66950. Url *string `locationName:"url" type:"string"`
  66951. // The S3 bucket for the disk image.
  66952. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  66953. }
  66954. // String returns the string representation
  66955. func (s SnapshotDetail) String() string {
  66956. return awsutil.Prettify(s)
  66957. }
  66958. // GoString returns the string representation
  66959. func (s SnapshotDetail) GoString() string {
  66960. return s.String()
  66961. }
  66962. // SetDescription sets the Description field's value.
  66963. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  66964. s.Description = &v
  66965. return s
  66966. }
  66967. // SetDeviceName sets the DeviceName field's value.
  66968. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  66969. s.DeviceName = &v
  66970. return s
  66971. }
  66972. // SetDiskImageSize sets the DiskImageSize field's value.
  66973. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  66974. s.DiskImageSize = &v
  66975. return s
  66976. }
  66977. // SetFormat sets the Format field's value.
  66978. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  66979. s.Format = &v
  66980. return s
  66981. }
  66982. // SetProgress sets the Progress field's value.
  66983. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  66984. s.Progress = &v
  66985. return s
  66986. }
  66987. // SetSnapshotId sets the SnapshotId field's value.
  66988. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  66989. s.SnapshotId = &v
  66990. return s
  66991. }
  66992. // SetStatus sets the Status field's value.
  66993. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  66994. s.Status = &v
  66995. return s
  66996. }
  66997. // SetStatusMessage sets the StatusMessage field's value.
  66998. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  66999. s.StatusMessage = &v
  67000. return s
  67001. }
  67002. // SetUrl sets the Url field's value.
  67003. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  67004. s.Url = &v
  67005. return s
  67006. }
  67007. // SetUserBucket sets the UserBucket field's value.
  67008. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  67009. s.UserBucket = v
  67010. return s
  67011. }
  67012. // The disk container object for the import snapshot request.
  67013. type SnapshotDiskContainer struct {
  67014. _ struct{} `type:"structure"`
  67015. // The description of the disk image being imported.
  67016. Description *string `type:"string"`
  67017. // The format of the disk image being imported.
  67018. //
  67019. // Valid values: VHD | VMDK
  67020. Format *string `type:"string"`
  67021. // The URL to the Amazon S3-based disk image being imported. It can either be
  67022. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  67023. Url *string `type:"string"`
  67024. // The S3 bucket for the disk image.
  67025. UserBucket *UserBucket `type:"structure"`
  67026. }
  67027. // String returns the string representation
  67028. func (s SnapshotDiskContainer) String() string {
  67029. return awsutil.Prettify(s)
  67030. }
  67031. // GoString returns the string representation
  67032. func (s SnapshotDiskContainer) GoString() string {
  67033. return s.String()
  67034. }
  67035. // SetDescription sets the Description field's value.
  67036. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  67037. s.Description = &v
  67038. return s
  67039. }
  67040. // SetFormat sets the Format field's value.
  67041. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  67042. s.Format = &v
  67043. return s
  67044. }
  67045. // SetUrl sets the Url field's value.
  67046. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  67047. s.Url = &v
  67048. return s
  67049. }
  67050. // SetUserBucket sets the UserBucket field's value.
  67051. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  67052. s.UserBucket = v
  67053. return s
  67054. }
  67055. // Details about the import snapshot task.
  67056. type SnapshotTaskDetail struct {
  67057. _ struct{} `type:"structure"`
  67058. // The description of the snapshot.
  67059. Description *string `locationName:"description" type:"string"`
  67060. // The size of the disk in the snapshot, in GiB.
  67061. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  67062. // Indicates whether the snapshot is encrypted.
  67063. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  67064. // The format of the disk image from which the snapshot is created.
  67065. Format *string `locationName:"format" type:"string"`
  67066. // The identifier for the AWS Key Management Service (AWS KMS) customer master
  67067. // key (CMK) that was used to create the encrypted snapshot.
  67068. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  67069. // The percentage of completion for the import snapshot task.
  67070. Progress *string `locationName:"progress" type:"string"`
  67071. // The snapshot ID of the disk being imported.
  67072. SnapshotId *string `locationName:"snapshotId" type:"string"`
  67073. // A brief status for the import snapshot task.
  67074. Status *string `locationName:"status" type:"string"`
  67075. // A detailed status message for the import snapshot task.
  67076. StatusMessage *string `locationName:"statusMessage" type:"string"`
  67077. // The URL of the disk image from which the snapshot is created.
  67078. Url *string `locationName:"url" type:"string"`
  67079. // The S3 bucket for the disk image.
  67080. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  67081. }
  67082. // String returns the string representation
  67083. func (s SnapshotTaskDetail) String() string {
  67084. return awsutil.Prettify(s)
  67085. }
  67086. // GoString returns the string representation
  67087. func (s SnapshotTaskDetail) GoString() string {
  67088. return s.String()
  67089. }
  67090. // SetDescription sets the Description field's value.
  67091. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  67092. s.Description = &v
  67093. return s
  67094. }
  67095. // SetDiskImageSize sets the DiskImageSize field's value.
  67096. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  67097. s.DiskImageSize = &v
  67098. return s
  67099. }
  67100. // SetEncrypted sets the Encrypted field's value.
  67101. func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
  67102. s.Encrypted = &v
  67103. return s
  67104. }
  67105. // SetFormat sets the Format field's value.
  67106. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  67107. s.Format = &v
  67108. return s
  67109. }
  67110. // SetKmsKeyId sets the KmsKeyId field's value.
  67111. func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
  67112. s.KmsKeyId = &v
  67113. return s
  67114. }
  67115. // SetProgress sets the Progress field's value.
  67116. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  67117. s.Progress = &v
  67118. return s
  67119. }
  67120. // SetSnapshotId sets the SnapshotId field's value.
  67121. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  67122. s.SnapshotId = &v
  67123. return s
  67124. }
  67125. // SetStatus sets the Status field's value.
  67126. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  67127. s.Status = &v
  67128. return s
  67129. }
  67130. // SetStatusMessage sets the StatusMessage field's value.
  67131. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  67132. s.StatusMessage = &v
  67133. return s
  67134. }
  67135. // SetUrl sets the Url field's value.
  67136. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  67137. s.Url = &v
  67138. return s
  67139. }
  67140. // SetUserBucket sets the UserBucket field's value.
  67141. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  67142. s.UserBucket = v
  67143. return s
  67144. }
  67145. // Describes the data feed for a Spot Instance.
  67146. type SpotDatafeedSubscription struct {
  67147. _ struct{} `type:"structure"`
  67148. // The Amazon S3 bucket where the Spot Instance data feed is located.
  67149. Bucket *string `locationName:"bucket" type:"string"`
  67150. // The fault codes for the Spot Instance request, if any.
  67151. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  67152. // The AWS account ID of the account.
  67153. OwnerId *string `locationName:"ownerId" type:"string"`
  67154. // The prefix that is prepended to data feed files.
  67155. Prefix *string `locationName:"prefix" type:"string"`
  67156. // The state of the Spot Instance data feed subscription.
  67157. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  67158. }
  67159. // String returns the string representation
  67160. func (s SpotDatafeedSubscription) String() string {
  67161. return awsutil.Prettify(s)
  67162. }
  67163. // GoString returns the string representation
  67164. func (s SpotDatafeedSubscription) GoString() string {
  67165. return s.String()
  67166. }
  67167. // SetBucket sets the Bucket field's value.
  67168. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  67169. s.Bucket = &v
  67170. return s
  67171. }
  67172. // SetFault sets the Fault field's value.
  67173. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  67174. s.Fault = v
  67175. return s
  67176. }
  67177. // SetOwnerId sets the OwnerId field's value.
  67178. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  67179. s.OwnerId = &v
  67180. return s
  67181. }
  67182. // SetPrefix sets the Prefix field's value.
  67183. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  67184. s.Prefix = &v
  67185. return s
  67186. }
  67187. // SetState sets the State field's value.
  67188. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  67189. s.State = &v
  67190. return s
  67191. }
  67192. // Describes the launch specification for one or more Spot Instances.
  67193. type SpotFleetLaunchSpecification struct {
  67194. _ struct{} `type:"structure"`
  67195. // Deprecated.
  67196. AddressingType *string `locationName:"addressingType" type:"string"`
  67197. // One or more block device mapping entries. You can't specify both a snapshot
  67198. // ID and an encryption value. This is because only blank volumes can be encrypted
  67199. // on creation. If a snapshot is the basis for a volume, it is not blank and
  67200. // its encryption status is used for the volume encryption status.
  67201. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  67202. // Indicates whether the instances are optimized for EBS I/O. This optimization
  67203. // provides dedicated throughput to Amazon EBS and an optimized configuration
  67204. // stack to provide optimal EBS I/O performance. This optimization isn't available
  67205. // with all instance types. Additional usage charges apply when using an EBS
  67206. // Optimized instance.
  67207. //
  67208. // Default: false
  67209. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  67210. // The IAM instance profile.
  67211. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  67212. // The ID of the AMI.
  67213. ImageId *string `locationName:"imageId" type:"string"`
  67214. // The instance type.
  67215. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  67216. // The ID of the kernel.
  67217. KernelId *string `locationName:"kernelId" type:"string"`
  67218. // The name of the key pair.
  67219. KeyName *string `locationName:"keyName" type:"string"`
  67220. // Enable or disable monitoring for the instances.
  67221. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  67222. // One or more network interfaces. If you specify a network interface, you must
  67223. // specify subnet IDs and security group IDs using the network interface.
  67224. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  67225. // The placement information.
  67226. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  67227. // The ID of the RAM disk.
  67228. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  67229. // One or more security groups. When requesting instances in a VPC, you must
  67230. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  67231. // you can specify the names or the IDs of the security groups.
  67232. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  67233. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  67234. // If this value is not specified, the default is the Spot price specified for
  67235. // the fleet. To determine the Spot price per unit hour, divide the Spot price
  67236. // by the value of WeightedCapacity.
  67237. SpotPrice *string `locationName:"spotPrice" type:"string"`
  67238. // The ID of the subnet in which to launch the instances. To specify multiple
  67239. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  67240. SubnetId *string `locationName:"subnetId" type:"string"`
  67241. // The tags to apply during creation.
  67242. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  67243. // The Base64-encoded user data to make available to the instances.
  67244. UserData *string `locationName:"userData" type:"string"`
  67245. // The number of units provided by the specified instance type. These are the
  67246. // same units that you chose to set the target capacity in terms (instances
  67247. // or a performance characteristic such as vCPUs, memory, or I/O).
  67248. //
  67249. // If the target capacity divided by this value is not a whole number, we round
  67250. // the number of instances to the next whole number. If this value is not specified,
  67251. // the default is 1.
  67252. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  67253. }
  67254. // String returns the string representation
  67255. func (s SpotFleetLaunchSpecification) String() string {
  67256. return awsutil.Prettify(s)
  67257. }
  67258. // GoString returns the string representation
  67259. func (s SpotFleetLaunchSpecification) GoString() string {
  67260. return s.String()
  67261. }
  67262. // SetAddressingType sets the AddressingType field's value.
  67263. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  67264. s.AddressingType = &v
  67265. return s
  67266. }
  67267. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  67268. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  67269. s.BlockDeviceMappings = v
  67270. return s
  67271. }
  67272. // SetEbsOptimized sets the EbsOptimized field's value.
  67273. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  67274. s.EbsOptimized = &v
  67275. return s
  67276. }
  67277. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  67278. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  67279. s.IamInstanceProfile = v
  67280. return s
  67281. }
  67282. // SetImageId sets the ImageId field's value.
  67283. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  67284. s.ImageId = &v
  67285. return s
  67286. }
  67287. // SetInstanceType sets the InstanceType field's value.
  67288. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  67289. s.InstanceType = &v
  67290. return s
  67291. }
  67292. // SetKernelId sets the KernelId field's value.
  67293. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  67294. s.KernelId = &v
  67295. return s
  67296. }
  67297. // SetKeyName sets the KeyName field's value.
  67298. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  67299. s.KeyName = &v
  67300. return s
  67301. }
  67302. // SetMonitoring sets the Monitoring field's value.
  67303. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  67304. s.Monitoring = v
  67305. return s
  67306. }
  67307. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  67308. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  67309. s.NetworkInterfaces = v
  67310. return s
  67311. }
  67312. // SetPlacement sets the Placement field's value.
  67313. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  67314. s.Placement = v
  67315. return s
  67316. }
  67317. // SetRamdiskId sets the RamdiskId field's value.
  67318. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  67319. s.RamdiskId = &v
  67320. return s
  67321. }
  67322. // SetSecurityGroups sets the SecurityGroups field's value.
  67323. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  67324. s.SecurityGroups = v
  67325. return s
  67326. }
  67327. // SetSpotPrice sets the SpotPrice field's value.
  67328. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  67329. s.SpotPrice = &v
  67330. return s
  67331. }
  67332. // SetSubnetId sets the SubnetId field's value.
  67333. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  67334. s.SubnetId = &v
  67335. return s
  67336. }
  67337. // SetTagSpecifications sets the TagSpecifications field's value.
  67338. func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
  67339. s.TagSpecifications = v
  67340. return s
  67341. }
  67342. // SetUserData sets the UserData field's value.
  67343. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  67344. s.UserData = &v
  67345. return s
  67346. }
  67347. // SetWeightedCapacity sets the WeightedCapacity field's value.
  67348. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  67349. s.WeightedCapacity = &v
  67350. return s
  67351. }
  67352. // Describes whether monitoring is enabled.
  67353. type SpotFleetMonitoring struct {
  67354. _ struct{} `type:"structure"`
  67355. // Enables monitoring for the instance.
  67356. //
  67357. // Default: false
  67358. Enabled *bool `locationName:"enabled" type:"boolean"`
  67359. }
  67360. // String returns the string representation
  67361. func (s SpotFleetMonitoring) String() string {
  67362. return awsutil.Prettify(s)
  67363. }
  67364. // GoString returns the string representation
  67365. func (s SpotFleetMonitoring) GoString() string {
  67366. return s.String()
  67367. }
  67368. // SetEnabled sets the Enabled field's value.
  67369. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  67370. s.Enabled = &v
  67371. return s
  67372. }
  67373. // Describes a Spot Fleet request.
  67374. type SpotFleetRequestConfig struct {
  67375. _ struct{} `type:"structure"`
  67376. // The progress of the Spot Fleet request. If there is an error, the status
  67377. // is error. After all requests are placed, the status is pending_fulfillment.
  67378. // If the size of the fleet is equal to or greater than its target capacity,
  67379. // the status is fulfilled. If the size of the fleet is decreased, the status
  67380. // is pending_termination while Spot Instances are terminating.
  67381. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  67382. // The creation date and time of the request.
  67383. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  67384. // The configuration of the Spot Fleet request.
  67385. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
  67386. // The ID of the Spot Fleet request.
  67387. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
  67388. // The state of the Spot Fleet request.
  67389. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
  67390. }
  67391. // String returns the string representation
  67392. func (s SpotFleetRequestConfig) String() string {
  67393. return awsutil.Prettify(s)
  67394. }
  67395. // GoString returns the string representation
  67396. func (s SpotFleetRequestConfig) GoString() string {
  67397. return s.String()
  67398. }
  67399. // SetActivityStatus sets the ActivityStatus field's value.
  67400. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  67401. s.ActivityStatus = &v
  67402. return s
  67403. }
  67404. // SetCreateTime sets the CreateTime field's value.
  67405. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  67406. s.CreateTime = &v
  67407. return s
  67408. }
  67409. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  67410. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  67411. s.SpotFleetRequestConfig = v
  67412. return s
  67413. }
  67414. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  67415. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  67416. s.SpotFleetRequestId = &v
  67417. return s
  67418. }
  67419. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  67420. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  67421. s.SpotFleetRequestState = &v
  67422. return s
  67423. }
  67424. // Describes the configuration of a Spot Fleet request.
  67425. type SpotFleetRequestConfigData struct {
  67426. _ struct{} `type:"structure"`
  67427. // Indicates how to allocate the target capacity across the Spot pools specified
  67428. // by the Spot Fleet request. The default is lowestPrice.
  67429. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  67430. // A unique, case-sensitive identifier that you provide to ensure the idempotency
  67431. // of your listings. This helps to avoid duplicate listings. For more information,
  67432. // see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  67433. ClientToken *string `locationName:"clientToken" type:"string"`
  67434. // Indicates whether running Spot Instances should be terminated if the target
  67435. // capacity of the Spot Fleet request is decreased below the current size of
  67436. // the Spot Fleet.
  67437. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  67438. // The number of units fulfilled by this request compared to the set target
  67439. // capacity. You cannot set this value.
  67440. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  67441. // Grants the Spot Fleet permission to terminate Spot Instances on your behalf
  67442. // when you cancel its Spot Fleet request using CancelSpotFleetRequests or when
  67443. // the Spot Fleet request expires, if you set terminateInstancesWithExpiration.
  67444. //
  67445. // IamFleetRole is a required field
  67446. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  67447. // The behavior when a Spot Instance is interrupted. The default is terminate.
  67448. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  67449. // The number of Spot pools across which to allocate your target Spot capacity.
  67450. // Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
  67451. // selects the cheapest Spot pools and evenly allocates your target Spot capacity
  67452. // across the number of Spot pools that you specify.
  67453. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
  67454. // The launch specifications for the Spot Fleet request.
  67455. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
  67456. // The launch template and overrides.
  67457. LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
  67458. // One or more Classic Load Balancers and target groups to attach to the Spot
  67459. // Fleet request. Spot Fleet registers the running Spot Instances with the specified
  67460. // Classic Load Balancers and target groups.
  67461. //
  67462. // With Network Load Balancers, Spot Fleet cannot register instances that have
  67463. // the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
  67464. // HS1, M1, M2, M3, and T1.
  67465. LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
  67466. // The order of the launch template overrides to use in fulfilling On-Demand
  67467. // capacity. If you specify lowestPrice, Spot Fleet uses price to determine
  67468. // the order, launching the lowest price first. If you specify prioritized,
  67469. // Spot Fleet uses the priority that you assign to each Spot Fleet launch template
  67470. // override, launching the highest priority first. If you do not specify a value,
  67471. // Spot Fleet defaults to lowestPrice.
  67472. OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
  67473. // The number of On-Demand units fulfilled by this request compared to the set
  67474. // target On-Demand capacity.
  67475. OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
  67476. // The number of On-Demand units to request. You can choose to set the target
  67477. // capacity in terms of instances or a performance characteristic that is important
  67478. // to your application workload, such as vCPUs, memory, or I/O. If the request
  67479. // type is maintain, you can specify a target capacity of 0 and add capacity
  67480. // later.
  67481. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  67482. // Indicates whether Spot Fleet should replace unhealthy instances.
  67483. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  67484. // The maximum price per unit hour that you are willing to pay for a Spot Instance.
  67485. // The default is the On-Demand price.
  67486. SpotPrice *string `locationName:"spotPrice" type:"string"`
  67487. // The number of units to request. You can choose to set the target capacity
  67488. // in terms of instances or a performance characteristic that is important to
  67489. // your application workload, such as vCPUs, memory, or I/O. If the request
  67490. // type is maintain, you can specify a target capacity of 0 and add capacity
  67491. // later.
  67492. //
  67493. // TargetCapacity is a required field
  67494. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  67495. // Indicates whether running Spot Instances should be terminated when the Spot
  67496. // Fleet request expires.
  67497. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  67498. // The type of request. Indicates whether the Spot Fleet only requests the target
  67499. // capacity or also attempts to maintain it. When this value is request, the
  67500. // Spot Fleet only places the required requests. It does not attempt to replenish
  67501. // Spot Instances if capacity is diminished, nor does it submit requests in
  67502. // alternative Spot pools if capacity is not available. When this value is maintain,
  67503. // the Spot Fleet maintains the target capacity. The Spot Fleet places the required
  67504. // requests to meet capacity and automatically replenishes any interrupted instances.
  67505. // Default: maintain. instant is listed but is not used by Spot Fleet.
  67506. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  67507. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  67508. // The default is to start fulfilling the request immediately.
  67509. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  67510. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  67511. // At this point, no new Spot Instance requests are placed or able to fulfill
  67512. // the request. If no value is specified, the Spot Fleet request remains until
  67513. // you cancel it.
  67514. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  67515. }
  67516. // String returns the string representation
  67517. func (s SpotFleetRequestConfigData) String() string {
  67518. return awsutil.Prettify(s)
  67519. }
  67520. // GoString returns the string representation
  67521. func (s SpotFleetRequestConfigData) GoString() string {
  67522. return s.String()
  67523. }
  67524. // Validate inspects the fields of the type to determine if they are valid.
  67525. func (s *SpotFleetRequestConfigData) Validate() error {
  67526. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  67527. if s.IamFleetRole == nil {
  67528. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  67529. }
  67530. if s.TargetCapacity == nil {
  67531. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  67532. }
  67533. if s.LaunchTemplateConfigs != nil {
  67534. for i, v := range s.LaunchTemplateConfigs {
  67535. if v == nil {
  67536. continue
  67537. }
  67538. if err := v.Validate(); err != nil {
  67539. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
  67540. }
  67541. }
  67542. }
  67543. if s.LoadBalancersConfig != nil {
  67544. if err := s.LoadBalancersConfig.Validate(); err != nil {
  67545. invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
  67546. }
  67547. }
  67548. if invalidParams.Len() > 0 {
  67549. return invalidParams
  67550. }
  67551. return nil
  67552. }
  67553. // SetAllocationStrategy sets the AllocationStrategy field's value.
  67554. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  67555. s.AllocationStrategy = &v
  67556. return s
  67557. }
  67558. // SetClientToken sets the ClientToken field's value.
  67559. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  67560. s.ClientToken = &v
  67561. return s
  67562. }
  67563. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  67564. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  67565. s.ExcessCapacityTerminationPolicy = &v
  67566. return s
  67567. }
  67568. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  67569. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  67570. s.FulfilledCapacity = &v
  67571. return s
  67572. }
  67573. // SetIamFleetRole sets the IamFleetRole field's value.
  67574. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  67575. s.IamFleetRole = &v
  67576. return s
  67577. }
  67578. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  67579. func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
  67580. s.InstanceInterruptionBehavior = &v
  67581. return s
  67582. }
  67583. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  67584. func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
  67585. s.InstancePoolsToUseCount = &v
  67586. return s
  67587. }
  67588. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  67589. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  67590. s.LaunchSpecifications = v
  67591. return s
  67592. }
  67593. // SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
  67594. func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
  67595. s.LaunchTemplateConfigs = v
  67596. return s
  67597. }
  67598. // SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
  67599. func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
  67600. s.LoadBalancersConfig = v
  67601. return s
  67602. }
  67603. // SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
  67604. func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
  67605. s.OnDemandAllocationStrategy = &v
  67606. return s
  67607. }
  67608. // SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
  67609. func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  67610. s.OnDemandFulfilledCapacity = &v
  67611. return s
  67612. }
  67613. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  67614. func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
  67615. s.OnDemandTargetCapacity = &v
  67616. return s
  67617. }
  67618. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  67619. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  67620. s.ReplaceUnhealthyInstances = &v
  67621. return s
  67622. }
  67623. // SetSpotPrice sets the SpotPrice field's value.
  67624. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  67625. s.SpotPrice = &v
  67626. return s
  67627. }
  67628. // SetTargetCapacity sets the TargetCapacity field's value.
  67629. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  67630. s.TargetCapacity = &v
  67631. return s
  67632. }
  67633. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  67634. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  67635. s.TerminateInstancesWithExpiration = &v
  67636. return s
  67637. }
  67638. // SetType sets the Type field's value.
  67639. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  67640. s.Type = &v
  67641. return s
  67642. }
  67643. // SetValidFrom sets the ValidFrom field's value.
  67644. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  67645. s.ValidFrom = &v
  67646. return s
  67647. }
  67648. // SetValidUntil sets the ValidUntil field's value.
  67649. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  67650. s.ValidUntil = &v
  67651. return s
  67652. }
  67653. // The tags for a Spot Fleet resource.
  67654. type SpotFleetTagSpecification struct {
  67655. _ struct{} `type:"structure"`
  67656. // The type of resource. Currently, the only resource type that is supported
  67657. // is instance.
  67658. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  67659. // The tags.
  67660. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  67661. }
  67662. // String returns the string representation
  67663. func (s SpotFleetTagSpecification) String() string {
  67664. return awsutil.Prettify(s)
  67665. }
  67666. // GoString returns the string representation
  67667. func (s SpotFleetTagSpecification) GoString() string {
  67668. return s.String()
  67669. }
  67670. // SetResourceType sets the ResourceType field's value.
  67671. func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
  67672. s.ResourceType = &v
  67673. return s
  67674. }
  67675. // SetTags sets the Tags field's value.
  67676. func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
  67677. s.Tags = v
  67678. return s
  67679. }
  67680. // Describes a Spot Instance request.
  67681. type SpotInstanceRequest struct {
  67682. _ struct{} `type:"structure"`
  67683. // If you specified a duration and your Spot Instance request was fulfilled,
  67684. // this is the fixed hourly price in effect for the Spot Instance while it runs.
  67685. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  67686. // The Availability Zone group. If you specify the same Availability Zone group
  67687. // for all Spot Instance requests, all Spot Instances are launched in the same
  67688. // Availability Zone.
  67689. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  67690. // The duration for the Spot Instance, in minutes.
  67691. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  67692. // The date and time when the Spot Instance request was created, in UTC format
  67693. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  67694. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  67695. // The fault codes for the Spot Instance request, if any.
  67696. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  67697. // The instance ID, if an instance has been launched to fulfill the Spot Instance
  67698. // request.
  67699. InstanceId *string `locationName:"instanceId" type:"string"`
  67700. // The behavior when a Spot Instance is interrupted.
  67701. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
  67702. // The instance launch group. Launch groups are Spot Instances that launch together
  67703. // and terminate together.
  67704. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  67705. // Additional information for launching instances.
  67706. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  67707. // The Availability Zone in which the request is launched.
  67708. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  67709. // The product description associated with the Spot Instance.
  67710. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  67711. // The ID of the Spot Instance request.
  67712. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  67713. // The maximum price per hour that you are willing to pay for a Spot Instance.
  67714. SpotPrice *string `locationName:"spotPrice" type:"string"`
  67715. // The state of the Spot Instance request. Spot status information helps track
  67716. // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  67717. // in the Amazon EC2 User Guide for Linux Instances.
  67718. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  67719. // The status code and status message describing the Spot Instance request.
  67720. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  67721. // Any tags assigned to the resource.
  67722. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  67723. // The Spot Instance request type.
  67724. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  67725. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  67726. // The request becomes active at this date and time.
  67727. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
  67728. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  67729. // If this is a one-time request, it remains active until all instances launch,
  67730. // the request is canceled, or this date is reached. If the request is persistent,
  67731. // it remains active until it is canceled or this date is reached. The default
  67732. // end date is 7 days from the current date.
  67733. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
  67734. }
  67735. // String returns the string representation
  67736. func (s SpotInstanceRequest) String() string {
  67737. return awsutil.Prettify(s)
  67738. }
  67739. // GoString returns the string representation
  67740. func (s SpotInstanceRequest) GoString() string {
  67741. return s.String()
  67742. }
  67743. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  67744. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  67745. s.ActualBlockHourlyPrice = &v
  67746. return s
  67747. }
  67748. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  67749. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  67750. s.AvailabilityZoneGroup = &v
  67751. return s
  67752. }
  67753. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  67754. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  67755. s.BlockDurationMinutes = &v
  67756. return s
  67757. }
  67758. // SetCreateTime sets the CreateTime field's value.
  67759. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  67760. s.CreateTime = &v
  67761. return s
  67762. }
  67763. // SetFault sets the Fault field's value.
  67764. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  67765. s.Fault = v
  67766. return s
  67767. }
  67768. // SetInstanceId sets the InstanceId field's value.
  67769. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  67770. s.InstanceId = &v
  67771. return s
  67772. }
  67773. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  67774. func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
  67775. s.InstanceInterruptionBehavior = &v
  67776. return s
  67777. }
  67778. // SetLaunchGroup sets the LaunchGroup field's value.
  67779. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  67780. s.LaunchGroup = &v
  67781. return s
  67782. }
  67783. // SetLaunchSpecification sets the LaunchSpecification field's value.
  67784. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  67785. s.LaunchSpecification = v
  67786. return s
  67787. }
  67788. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  67789. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  67790. s.LaunchedAvailabilityZone = &v
  67791. return s
  67792. }
  67793. // SetProductDescription sets the ProductDescription field's value.
  67794. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  67795. s.ProductDescription = &v
  67796. return s
  67797. }
  67798. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  67799. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  67800. s.SpotInstanceRequestId = &v
  67801. return s
  67802. }
  67803. // SetSpotPrice sets the SpotPrice field's value.
  67804. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  67805. s.SpotPrice = &v
  67806. return s
  67807. }
  67808. // SetState sets the State field's value.
  67809. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  67810. s.State = &v
  67811. return s
  67812. }
  67813. // SetStatus sets the Status field's value.
  67814. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  67815. s.Status = v
  67816. return s
  67817. }
  67818. // SetTags sets the Tags field's value.
  67819. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  67820. s.Tags = v
  67821. return s
  67822. }
  67823. // SetType sets the Type field's value.
  67824. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  67825. s.Type = &v
  67826. return s
  67827. }
  67828. // SetValidFrom sets the ValidFrom field's value.
  67829. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  67830. s.ValidFrom = &v
  67831. return s
  67832. }
  67833. // SetValidUntil sets the ValidUntil field's value.
  67834. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  67835. s.ValidUntil = &v
  67836. return s
  67837. }
  67838. // Describes a Spot Instance state change.
  67839. type SpotInstanceStateFault struct {
  67840. _ struct{} `type:"structure"`
  67841. // The reason code for the Spot Instance state change.
  67842. Code *string `locationName:"code" type:"string"`
  67843. // The message for the Spot Instance state change.
  67844. Message *string `locationName:"message" type:"string"`
  67845. }
  67846. // String returns the string representation
  67847. func (s SpotInstanceStateFault) String() string {
  67848. return awsutil.Prettify(s)
  67849. }
  67850. // GoString returns the string representation
  67851. func (s SpotInstanceStateFault) GoString() string {
  67852. return s.String()
  67853. }
  67854. // SetCode sets the Code field's value.
  67855. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  67856. s.Code = &v
  67857. return s
  67858. }
  67859. // SetMessage sets the Message field's value.
  67860. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  67861. s.Message = &v
  67862. return s
  67863. }
  67864. // Describes the status of a Spot Instance request.
  67865. type SpotInstanceStatus struct {
  67866. _ struct{} `type:"structure"`
  67867. // 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)
  67868. // in the Amazon EC2 User Guide for Linux Instances.
  67869. Code *string `locationName:"code" type:"string"`
  67870. // The description for the status code.
  67871. Message *string `locationName:"message" type:"string"`
  67872. // The date and time of the most recent status update, in UTC format (for example,
  67873. // YYYY-MM-DDTHH:MM:SSZ).
  67874. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
  67875. }
  67876. // String returns the string representation
  67877. func (s SpotInstanceStatus) String() string {
  67878. return awsutil.Prettify(s)
  67879. }
  67880. // GoString returns the string representation
  67881. func (s SpotInstanceStatus) GoString() string {
  67882. return s.String()
  67883. }
  67884. // SetCode sets the Code field's value.
  67885. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  67886. s.Code = &v
  67887. return s
  67888. }
  67889. // SetMessage sets the Message field's value.
  67890. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  67891. s.Message = &v
  67892. return s
  67893. }
  67894. // SetUpdateTime sets the UpdateTime field's value.
  67895. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  67896. s.UpdateTime = &v
  67897. return s
  67898. }
  67899. // The options for Spot Instances.
  67900. type SpotMarketOptions struct {
  67901. _ struct{} `type:"structure"`
  67902. // The required duration for the Spot Instances (also known as Spot blocks),
  67903. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  67904. // or 360).
  67905. BlockDurationMinutes *int64 `type:"integer"`
  67906. // The behavior when a Spot Instance is interrupted. The default is terminate.
  67907. InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
  67908. // The maximum hourly price you're willing to pay for the Spot Instances. The
  67909. // default is the On-Demand price.
  67910. MaxPrice *string `type:"string"`
  67911. // The Spot Instance request type. For RunInstances, persistent Spot Instance
  67912. // requests are only supported when InstanceInterruptionBehavior is set to either
  67913. // hibernate or stop.
  67914. SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
  67915. // The end date of the request. For a one-time request, the request remains
  67916. // active until all instances launch, the request is canceled, or this date
  67917. // is reached. If the request is persistent, it remains active until it is canceled
  67918. // or this date and time is reached. The default end date is 7 days from the
  67919. // current date.
  67920. ValidUntil *time.Time `type:"timestamp"`
  67921. }
  67922. // String returns the string representation
  67923. func (s SpotMarketOptions) String() string {
  67924. return awsutil.Prettify(s)
  67925. }
  67926. // GoString returns the string representation
  67927. func (s SpotMarketOptions) GoString() string {
  67928. return s.String()
  67929. }
  67930. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  67931. func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
  67932. s.BlockDurationMinutes = &v
  67933. return s
  67934. }
  67935. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  67936. func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
  67937. s.InstanceInterruptionBehavior = &v
  67938. return s
  67939. }
  67940. // SetMaxPrice sets the MaxPrice field's value.
  67941. func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
  67942. s.MaxPrice = &v
  67943. return s
  67944. }
  67945. // SetSpotInstanceType sets the SpotInstanceType field's value.
  67946. func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
  67947. s.SpotInstanceType = &v
  67948. return s
  67949. }
  67950. // SetValidUntil sets the ValidUntil field's value.
  67951. func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
  67952. s.ValidUntil = &v
  67953. return s
  67954. }
  67955. // Describes the configuration of Spot Instances in an EC2 Fleet.
  67956. type SpotOptions struct {
  67957. _ struct{} `type:"structure"`
  67958. // Indicates how to allocate the target capacity across the Spot pools specified
  67959. // by the Spot Fleet request. The default is lowest-price.
  67960. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
  67961. // The behavior when a Spot Instance is interrupted. The default is terminate.
  67962. InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
  67963. // The number of Spot pools across which to allocate your target Spot capacity.
  67964. // Valid only when AllocationStrategy is set to lowestPrice. EC2 Fleet selects
  67965. // the cheapest Spot pools and evenly allocates your target Spot capacity across
  67966. // the number of Spot pools that you specify.
  67967. InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
  67968. // The minimum target capacity for Spot Instances in the fleet. If the minimum
  67969. // target capacity is not reached, the fleet launches no instances.
  67970. MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
  67971. // Indicates that the fleet launches all Spot Instances into a single Availability
  67972. // Zone.
  67973. SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
  67974. // Indicates that the fleet uses a single instance type to launch all Spot Instances
  67975. // in the fleet.
  67976. SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
  67977. }
  67978. // String returns the string representation
  67979. func (s SpotOptions) String() string {
  67980. return awsutil.Prettify(s)
  67981. }
  67982. // GoString returns the string representation
  67983. func (s SpotOptions) GoString() string {
  67984. return s.String()
  67985. }
  67986. // SetAllocationStrategy sets the AllocationStrategy field's value.
  67987. func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
  67988. s.AllocationStrategy = &v
  67989. return s
  67990. }
  67991. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  67992. func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
  67993. s.InstanceInterruptionBehavior = &v
  67994. return s
  67995. }
  67996. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  67997. func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
  67998. s.InstancePoolsToUseCount = &v
  67999. return s
  68000. }
  68001. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  68002. func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
  68003. s.MinTargetCapacity = &v
  68004. return s
  68005. }
  68006. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  68007. func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
  68008. s.SingleAvailabilityZone = &v
  68009. return s
  68010. }
  68011. // SetSingleInstanceType sets the SingleInstanceType field's value.
  68012. func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
  68013. s.SingleInstanceType = &v
  68014. return s
  68015. }
  68016. // Describes the configuration of Spot Instances in an EC2 Fleet request.
  68017. type SpotOptionsRequest struct {
  68018. _ struct{} `type:"structure"`
  68019. // Indicates how to allocate the target capacity across the Spot pools specified
  68020. // by the Spot Fleet request. The default is lowestPrice.
  68021. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
  68022. // The behavior when a Spot Instance is interrupted. The default is terminate.
  68023. InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
  68024. // The number of Spot pools across which to allocate your target Spot capacity.
  68025. // Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
  68026. // selects the cheapest Spot pools and evenly allocates your target Spot capacity
  68027. // across the number of Spot pools that you specify.
  68028. InstancePoolsToUseCount *int64 `type:"integer"`
  68029. // The minimum target capacity for Spot Instances in the fleet. If the minimum
  68030. // target capacity is not reached, the fleet launches no instances.
  68031. MinTargetCapacity *int64 `type:"integer"`
  68032. // Indicates that the fleet launches all Spot Instances into a single Availability
  68033. // Zone.
  68034. SingleAvailabilityZone *bool `type:"boolean"`
  68035. // Indicates that the fleet uses a single instance type to launch all Spot Instances
  68036. // in the fleet.
  68037. SingleInstanceType *bool `type:"boolean"`
  68038. }
  68039. // String returns the string representation
  68040. func (s SpotOptionsRequest) String() string {
  68041. return awsutil.Prettify(s)
  68042. }
  68043. // GoString returns the string representation
  68044. func (s SpotOptionsRequest) GoString() string {
  68045. return s.String()
  68046. }
  68047. // SetAllocationStrategy sets the AllocationStrategy field's value.
  68048. func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
  68049. s.AllocationStrategy = &v
  68050. return s
  68051. }
  68052. // SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
  68053. func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
  68054. s.InstanceInterruptionBehavior = &v
  68055. return s
  68056. }
  68057. // SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
  68058. func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
  68059. s.InstancePoolsToUseCount = &v
  68060. return s
  68061. }
  68062. // SetMinTargetCapacity sets the MinTargetCapacity field's value.
  68063. func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
  68064. s.MinTargetCapacity = &v
  68065. return s
  68066. }
  68067. // SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
  68068. func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
  68069. s.SingleAvailabilityZone = &v
  68070. return s
  68071. }
  68072. // SetSingleInstanceType sets the SingleInstanceType field's value.
  68073. func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
  68074. s.SingleInstanceType = &v
  68075. return s
  68076. }
  68077. // Describes Spot Instance placement.
  68078. type SpotPlacement struct {
  68079. _ struct{} `type:"structure"`
  68080. // The Availability Zone.
  68081. //
  68082. // [Spot Fleet only] To specify multiple Availability Zones, separate them using
  68083. // commas; for example, "us-west-2a, us-west-2b".
  68084. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  68085. // The name of the placement group.
  68086. GroupName *string `locationName:"groupName" type:"string"`
  68087. // The tenancy of the instance (if the instance is running in a VPC). An instance
  68088. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  68089. // is not supported for Spot Instances.
  68090. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  68091. }
  68092. // String returns the string representation
  68093. func (s SpotPlacement) String() string {
  68094. return awsutil.Prettify(s)
  68095. }
  68096. // GoString returns the string representation
  68097. func (s SpotPlacement) GoString() string {
  68098. return s.String()
  68099. }
  68100. // SetAvailabilityZone sets the AvailabilityZone field's value.
  68101. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  68102. s.AvailabilityZone = &v
  68103. return s
  68104. }
  68105. // SetGroupName sets the GroupName field's value.
  68106. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  68107. s.GroupName = &v
  68108. return s
  68109. }
  68110. // SetTenancy sets the Tenancy field's value.
  68111. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  68112. s.Tenancy = &v
  68113. return s
  68114. }
  68115. // Describes the maximum price per hour that you are willing to pay for a Spot
  68116. // Instance.
  68117. type SpotPrice struct {
  68118. _ struct{} `type:"structure"`
  68119. // The Availability Zone.
  68120. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  68121. // The instance type.
  68122. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  68123. // A general description of the AMI.
  68124. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  68125. // The maximum price per hour that you are willing to pay for a Spot Instance.
  68126. SpotPrice *string `locationName:"spotPrice" type:"string"`
  68127. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  68128. Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
  68129. }
  68130. // String returns the string representation
  68131. func (s SpotPrice) String() string {
  68132. return awsutil.Prettify(s)
  68133. }
  68134. // GoString returns the string representation
  68135. func (s SpotPrice) GoString() string {
  68136. return s.String()
  68137. }
  68138. // SetAvailabilityZone sets the AvailabilityZone field's value.
  68139. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  68140. s.AvailabilityZone = &v
  68141. return s
  68142. }
  68143. // SetInstanceType sets the InstanceType field's value.
  68144. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  68145. s.InstanceType = &v
  68146. return s
  68147. }
  68148. // SetProductDescription sets the ProductDescription field's value.
  68149. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  68150. s.ProductDescription = &v
  68151. return s
  68152. }
  68153. // SetSpotPrice sets the SpotPrice field's value.
  68154. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  68155. s.SpotPrice = &v
  68156. return s
  68157. }
  68158. // SetTimestamp sets the Timestamp field's value.
  68159. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  68160. s.Timestamp = &v
  68161. return s
  68162. }
  68163. // Describes a stale rule in a security group.
  68164. type StaleIpPermission struct {
  68165. _ struct{} `type:"structure"`
  68166. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  68167. // number. A value of -1 indicates all ICMP types.
  68168. FromPort *int64 `locationName:"fromPort" type:"integer"`
  68169. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  68170. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  68171. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  68172. // One or more IP ranges. Not applicable for stale security group rules.
  68173. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  68174. // One or more prefix list IDs for an AWS service. Not applicable for stale
  68175. // security group rules.
  68176. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  68177. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  68178. // number. A value of -1 indicates all ICMP types.
  68179. ToPort *int64 `locationName:"toPort" type:"integer"`
  68180. // One or more security group pairs. Returns the ID of the referenced security
  68181. // group and VPC, and the ID and status of the VPC peering connection.
  68182. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  68183. }
  68184. // String returns the string representation
  68185. func (s StaleIpPermission) String() string {
  68186. return awsutil.Prettify(s)
  68187. }
  68188. // GoString returns the string representation
  68189. func (s StaleIpPermission) GoString() string {
  68190. return s.String()
  68191. }
  68192. // SetFromPort sets the FromPort field's value.
  68193. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  68194. s.FromPort = &v
  68195. return s
  68196. }
  68197. // SetIpProtocol sets the IpProtocol field's value.
  68198. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  68199. s.IpProtocol = &v
  68200. return s
  68201. }
  68202. // SetIpRanges sets the IpRanges field's value.
  68203. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  68204. s.IpRanges = v
  68205. return s
  68206. }
  68207. // SetPrefixListIds sets the PrefixListIds field's value.
  68208. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  68209. s.PrefixListIds = v
  68210. return s
  68211. }
  68212. // SetToPort sets the ToPort field's value.
  68213. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  68214. s.ToPort = &v
  68215. return s
  68216. }
  68217. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  68218. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  68219. s.UserIdGroupPairs = v
  68220. return s
  68221. }
  68222. // Describes a stale security group (a security group that contains stale rules).
  68223. type StaleSecurityGroup struct {
  68224. _ struct{} `type:"structure"`
  68225. // The description of the security group.
  68226. Description *string `locationName:"description" type:"string"`
  68227. // The ID of the security group.
  68228. GroupId *string `locationName:"groupId" type:"string"`
  68229. // The name of the security group.
  68230. GroupName *string `locationName:"groupName" type:"string"`
  68231. // Information about the stale inbound rules in the security group.
  68232. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  68233. // Information about the stale outbound rules in the security group.
  68234. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  68235. // The ID of the VPC for the security group.
  68236. VpcId *string `locationName:"vpcId" type:"string"`
  68237. }
  68238. // String returns the string representation
  68239. func (s StaleSecurityGroup) String() string {
  68240. return awsutil.Prettify(s)
  68241. }
  68242. // GoString returns the string representation
  68243. func (s StaleSecurityGroup) GoString() string {
  68244. return s.String()
  68245. }
  68246. // SetDescription sets the Description field's value.
  68247. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  68248. s.Description = &v
  68249. return s
  68250. }
  68251. // SetGroupId sets the GroupId field's value.
  68252. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  68253. s.GroupId = &v
  68254. return s
  68255. }
  68256. // SetGroupName sets the GroupName field's value.
  68257. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  68258. s.GroupName = &v
  68259. return s
  68260. }
  68261. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  68262. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  68263. s.StaleIpPermissions = v
  68264. return s
  68265. }
  68266. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  68267. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  68268. s.StaleIpPermissionsEgress = v
  68269. return s
  68270. }
  68271. // SetVpcId sets the VpcId field's value.
  68272. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  68273. s.VpcId = &v
  68274. return s
  68275. }
  68276. type StartInstancesInput struct {
  68277. _ struct{} `type:"structure"`
  68278. // Reserved.
  68279. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  68280. // Checks whether you have the required permissions for the action, without
  68281. // actually making the request, and provides an error response. If you have
  68282. // the required permissions, the error response is DryRunOperation. Otherwise,
  68283. // it is UnauthorizedOperation.
  68284. DryRun *bool `locationName:"dryRun" type:"boolean"`
  68285. // One or more instance IDs.
  68286. //
  68287. // InstanceIds is a required field
  68288. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  68289. }
  68290. // String returns the string representation
  68291. func (s StartInstancesInput) String() string {
  68292. return awsutil.Prettify(s)
  68293. }
  68294. // GoString returns the string representation
  68295. func (s StartInstancesInput) GoString() string {
  68296. return s.String()
  68297. }
  68298. // Validate inspects the fields of the type to determine if they are valid.
  68299. func (s *StartInstancesInput) Validate() error {
  68300. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  68301. if s.InstanceIds == nil {
  68302. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  68303. }
  68304. if invalidParams.Len() > 0 {
  68305. return invalidParams
  68306. }
  68307. return nil
  68308. }
  68309. // SetAdditionalInfo sets the AdditionalInfo field's value.
  68310. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  68311. s.AdditionalInfo = &v
  68312. return s
  68313. }
  68314. // SetDryRun sets the DryRun field's value.
  68315. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  68316. s.DryRun = &v
  68317. return s
  68318. }
  68319. // SetInstanceIds sets the InstanceIds field's value.
  68320. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  68321. s.InstanceIds = v
  68322. return s
  68323. }
  68324. type StartInstancesOutput struct {
  68325. _ struct{} `type:"structure"`
  68326. // Information about one or more started instances.
  68327. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  68328. }
  68329. // String returns the string representation
  68330. func (s StartInstancesOutput) String() string {
  68331. return awsutil.Prettify(s)
  68332. }
  68333. // GoString returns the string representation
  68334. func (s StartInstancesOutput) GoString() string {
  68335. return s.String()
  68336. }
  68337. // SetStartingInstances sets the StartingInstances field's value.
  68338. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  68339. s.StartingInstances = v
  68340. return s
  68341. }
  68342. // Describes a state change.
  68343. type StateReason struct {
  68344. _ struct{} `type:"structure"`
  68345. // The reason code for the state change.
  68346. Code *string `locationName:"code" type:"string"`
  68347. // The message for the state change.
  68348. //
  68349. // * Server.InsufficientInstanceCapacity: There was insufficient capacity
  68350. // available to satisfy the launch request.
  68351. //
  68352. // * Server.InternalError: An internal error caused the instance to terminate
  68353. // during launch.
  68354. //
  68355. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  68356. //
  68357. // * Server.SpotInstanceShutdown: The instance was stopped because the number
  68358. // of Spot requests with a maximum price equal to or higher than the Spot
  68359. // price exceeded available capacity or because of an increase in the Spot
  68360. // price.
  68361. //
  68362. // * Server.SpotInstanceTermination: The instance was terminated because
  68363. // the number of Spot requests with a maximum price equal to or higher than
  68364. // the Spot price exceeded available capacity or because of an increase in
  68365. // the Spot price.
  68366. //
  68367. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  68368. // shutdown -h command from the instance.
  68369. //
  68370. // * Client.InstanceTerminated: The instance was terminated or rebooted during
  68371. // AMI creation.
  68372. //
  68373. // * Client.InternalError: A client error caused the instance to terminate
  68374. // during launch.
  68375. //
  68376. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  68377. //
  68378. // * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
  68379. //
  68380. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  68381. // EC2 API.
  68382. //
  68383. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  68384. // total storage was exceeded. Decrease usage or request an increase in your
  68385. // account limits.
  68386. Message *string `locationName:"message" type:"string"`
  68387. }
  68388. // String returns the string representation
  68389. func (s StateReason) String() string {
  68390. return awsutil.Prettify(s)
  68391. }
  68392. // GoString returns the string representation
  68393. func (s StateReason) GoString() string {
  68394. return s.String()
  68395. }
  68396. // SetCode sets the Code field's value.
  68397. func (s *StateReason) SetCode(v string) *StateReason {
  68398. s.Code = &v
  68399. return s
  68400. }
  68401. // SetMessage sets the Message field's value.
  68402. func (s *StateReason) SetMessage(v string) *StateReason {
  68403. s.Message = &v
  68404. return s
  68405. }
  68406. type StopInstancesInput struct {
  68407. _ struct{} `type:"structure"`
  68408. // Checks whether you have the required permissions for the action, without
  68409. // actually making the request, and provides an error response. If you have
  68410. // the required permissions, the error response is DryRunOperation. Otherwise,
  68411. // it is UnauthorizedOperation.
  68412. DryRun *bool `locationName:"dryRun" type:"boolean"`
  68413. // Forces the instances to stop. The instances do not have an opportunity to
  68414. // flush file system caches or file system metadata. If you use this option,
  68415. // you must perform file system check and repair procedures. This option is
  68416. // not recommended for Windows instances.
  68417. //
  68418. // Default: false
  68419. Force *bool `locationName:"force" type:"boolean"`
  68420. // Hibernates the instance if the instance was enabled for hibernation at launch.
  68421. // If the instance cannot hibernate successfully, a normal shutdown occurs.
  68422. // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
  68423. // in the Amazon Elastic Compute Cloud User Guide.
  68424. //
  68425. // Default: false
  68426. Hibernate *bool `type:"boolean"`
  68427. // One or more instance IDs.
  68428. //
  68429. // InstanceIds is a required field
  68430. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  68431. }
  68432. // String returns the string representation
  68433. func (s StopInstancesInput) String() string {
  68434. return awsutil.Prettify(s)
  68435. }
  68436. // GoString returns the string representation
  68437. func (s StopInstancesInput) GoString() string {
  68438. return s.String()
  68439. }
  68440. // Validate inspects the fields of the type to determine if they are valid.
  68441. func (s *StopInstancesInput) Validate() error {
  68442. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  68443. if s.InstanceIds == nil {
  68444. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  68445. }
  68446. if invalidParams.Len() > 0 {
  68447. return invalidParams
  68448. }
  68449. return nil
  68450. }
  68451. // SetDryRun sets the DryRun field's value.
  68452. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  68453. s.DryRun = &v
  68454. return s
  68455. }
  68456. // SetForce sets the Force field's value.
  68457. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  68458. s.Force = &v
  68459. return s
  68460. }
  68461. // SetHibernate sets the Hibernate field's value.
  68462. func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
  68463. s.Hibernate = &v
  68464. return s
  68465. }
  68466. // SetInstanceIds sets the InstanceIds field's value.
  68467. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  68468. s.InstanceIds = v
  68469. return s
  68470. }
  68471. type StopInstancesOutput struct {
  68472. _ struct{} `type:"structure"`
  68473. // Information about one or more stopped instances.
  68474. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  68475. }
  68476. // String returns the string representation
  68477. func (s StopInstancesOutput) String() string {
  68478. return awsutil.Prettify(s)
  68479. }
  68480. // GoString returns the string representation
  68481. func (s StopInstancesOutput) GoString() string {
  68482. return s.String()
  68483. }
  68484. // SetStoppingInstances sets the StoppingInstances field's value.
  68485. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  68486. s.StoppingInstances = v
  68487. return s
  68488. }
  68489. // Describes the storage location for an instance store-backed AMI.
  68490. type Storage struct {
  68491. _ struct{} `type:"structure"`
  68492. // An Amazon S3 storage location.
  68493. S3 *S3Storage `type:"structure"`
  68494. }
  68495. // String returns the string representation
  68496. func (s Storage) String() string {
  68497. return awsutil.Prettify(s)
  68498. }
  68499. // GoString returns the string representation
  68500. func (s Storage) GoString() string {
  68501. return s.String()
  68502. }
  68503. // SetS3 sets the S3 field's value.
  68504. func (s *Storage) SetS3(v *S3Storage) *Storage {
  68505. s.S3 = v
  68506. return s
  68507. }
  68508. // Describes a storage location in Amazon S3.
  68509. type StorageLocation struct {
  68510. _ struct{} `type:"structure"`
  68511. // The name of the S3 bucket.
  68512. Bucket *string `type:"string"`
  68513. // The key.
  68514. Key *string `type:"string"`
  68515. }
  68516. // String returns the string representation
  68517. func (s StorageLocation) String() string {
  68518. return awsutil.Prettify(s)
  68519. }
  68520. // GoString returns the string representation
  68521. func (s StorageLocation) GoString() string {
  68522. return s.String()
  68523. }
  68524. // SetBucket sets the Bucket field's value.
  68525. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  68526. s.Bucket = &v
  68527. return s
  68528. }
  68529. // SetKey sets the Key field's value.
  68530. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  68531. s.Key = &v
  68532. return s
  68533. }
  68534. // Describes a subnet.
  68535. type Subnet struct {
  68536. _ struct{} `type:"structure"`
  68537. // Indicates whether a network interface created in this subnet (including a
  68538. // network interface created by RunInstances) receives an IPv6 address.
  68539. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  68540. // The Availability Zone of the subnet.
  68541. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  68542. // The AZ ID of the subnet.
  68543. AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
  68544. // The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
  68545. // for any stopped instances are considered unavailable.
  68546. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  68547. // The IPv4 CIDR block assigned to the subnet.
  68548. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  68549. // Indicates whether this is the default subnet for the Availability Zone.
  68550. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  68551. // Information about the IPv6 CIDR blocks associated with the subnet.
  68552. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  68553. // Indicates whether instances launched in this subnet receive a public IPv4
  68554. // address.
  68555. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  68556. // The ID of the AWS account that owns the subnet.
  68557. OwnerId *string `locationName:"ownerId" type:"string"`
  68558. // The current state of the subnet.
  68559. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  68560. // The Amazon Resource Name (ARN) of the subnet.
  68561. SubnetArn *string `locationName:"subnetArn" type:"string"`
  68562. // The ID of the subnet.
  68563. SubnetId *string `locationName:"subnetId" type:"string"`
  68564. // Any tags assigned to the subnet.
  68565. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  68566. // The ID of the VPC the subnet is in.
  68567. VpcId *string `locationName:"vpcId" type:"string"`
  68568. }
  68569. // String returns the string representation
  68570. func (s Subnet) String() string {
  68571. return awsutil.Prettify(s)
  68572. }
  68573. // GoString returns the string representation
  68574. func (s Subnet) GoString() string {
  68575. return s.String()
  68576. }
  68577. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  68578. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  68579. s.AssignIpv6AddressOnCreation = &v
  68580. return s
  68581. }
  68582. // SetAvailabilityZone sets the AvailabilityZone field's value.
  68583. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  68584. s.AvailabilityZone = &v
  68585. return s
  68586. }
  68587. // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  68588. func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
  68589. s.AvailabilityZoneId = &v
  68590. return s
  68591. }
  68592. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  68593. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  68594. s.AvailableIpAddressCount = &v
  68595. return s
  68596. }
  68597. // SetCidrBlock sets the CidrBlock field's value.
  68598. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  68599. s.CidrBlock = &v
  68600. return s
  68601. }
  68602. // SetDefaultForAz sets the DefaultForAz field's value.
  68603. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  68604. s.DefaultForAz = &v
  68605. return s
  68606. }
  68607. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  68608. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  68609. s.Ipv6CidrBlockAssociationSet = v
  68610. return s
  68611. }
  68612. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  68613. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  68614. s.MapPublicIpOnLaunch = &v
  68615. return s
  68616. }
  68617. // SetOwnerId sets the OwnerId field's value.
  68618. func (s *Subnet) SetOwnerId(v string) *Subnet {
  68619. s.OwnerId = &v
  68620. return s
  68621. }
  68622. // SetState sets the State field's value.
  68623. func (s *Subnet) SetState(v string) *Subnet {
  68624. s.State = &v
  68625. return s
  68626. }
  68627. // SetSubnetArn sets the SubnetArn field's value.
  68628. func (s *Subnet) SetSubnetArn(v string) *Subnet {
  68629. s.SubnetArn = &v
  68630. return s
  68631. }
  68632. // SetSubnetId sets the SubnetId field's value.
  68633. func (s *Subnet) SetSubnetId(v string) *Subnet {
  68634. s.SubnetId = &v
  68635. return s
  68636. }
  68637. // SetTags sets the Tags field's value.
  68638. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  68639. s.Tags = v
  68640. return s
  68641. }
  68642. // SetVpcId sets the VpcId field's value.
  68643. func (s *Subnet) SetVpcId(v string) *Subnet {
  68644. s.VpcId = &v
  68645. return s
  68646. }
  68647. // Describes the state of a CIDR block.
  68648. type SubnetCidrBlockState struct {
  68649. _ struct{} `type:"structure"`
  68650. // The state of a CIDR block.
  68651. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  68652. // A message about the status of the CIDR block, if applicable.
  68653. StatusMessage *string `locationName:"statusMessage" type:"string"`
  68654. }
  68655. // String returns the string representation
  68656. func (s SubnetCidrBlockState) String() string {
  68657. return awsutil.Prettify(s)
  68658. }
  68659. // GoString returns the string representation
  68660. func (s SubnetCidrBlockState) GoString() string {
  68661. return s.String()
  68662. }
  68663. // SetState sets the State field's value.
  68664. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  68665. s.State = &v
  68666. return s
  68667. }
  68668. // SetStatusMessage sets the StatusMessage field's value.
  68669. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  68670. s.StatusMessage = &v
  68671. return s
  68672. }
  68673. // Describes an IPv6 CIDR block associated with a subnet.
  68674. type SubnetIpv6CidrBlockAssociation struct {
  68675. _ struct{} `type:"structure"`
  68676. // The association ID for the CIDR block.
  68677. AssociationId *string `locationName:"associationId" type:"string"`
  68678. // The IPv6 CIDR block.
  68679. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  68680. // Information about the state of the CIDR block.
  68681. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  68682. }
  68683. // String returns the string representation
  68684. func (s SubnetIpv6CidrBlockAssociation) String() string {
  68685. return awsutil.Prettify(s)
  68686. }
  68687. // GoString returns the string representation
  68688. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  68689. return s.String()
  68690. }
  68691. // SetAssociationId sets the AssociationId field's value.
  68692. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  68693. s.AssociationId = &v
  68694. return s
  68695. }
  68696. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  68697. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  68698. s.Ipv6CidrBlock = &v
  68699. return s
  68700. }
  68701. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  68702. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  68703. s.Ipv6CidrBlockState = v
  68704. return s
  68705. }
  68706. // Describes the T2 or T3 instance whose credit option for CPU usage was successfully
  68707. // modified.
  68708. type SuccessfulInstanceCreditSpecificationItem struct {
  68709. _ struct{} `type:"structure"`
  68710. // The ID of the instance.
  68711. InstanceId *string `locationName:"instanceId" type:"string"`
  68712. }
  68713. // String returns the string representation
  68714. func (s SuccessfulInstanceCreditSpecificationItem) String() string {
  68715. return awsutil.Prettify(s)
  68716. }
  68717. // GoString returns the string representation
  68718. func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
  68719. return s.String()
  68720. }
  68721. // SetInstanceId sets the InstanceId field's value.
  68722. func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
  68723. s.InstanceId = &v
  68724. return s
  68725. }
  68726. // Describes a tag.
  68727. type Tag struct {
  68728. _ struct{} `type:"structure"`
  68729. // The key of the tag.
  68730. //
  68731. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  68732. // characters. May not begin with aws:.
  68733. Key *string `locationName:"key" type:"string"`
  68734. // The value of the tag.
  68735. //
  68736. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  68737. // characters.
  68738. Value *string `locationName:"value" type:"string"`
  68739. }
  68740. // String returns the string representation
  68741. func (s Tag) String() string {
  68742. return awsutil.Prettify(s)
  68743. }
  68744. // GoString returns the string representation
  68745. func (s Tag) GoString() string {
  68746. return s.String()
  68747. }
  68748. // SetKey sets the Key field's value.
  68749. func (s *Tag) SetKey(v string) *Tag {
  68750. s.Key = &v
  68751. return s
  68752. }
  68753. // SetValue sets the Value field's value.
  68754. func (s *Tag) SetValue(v string) *Tag {
  68755. s.Value = &v
  68756. return s
  68757. }
  68758. // Describes a tag.
  68759. type TagDescription struct {
  68760. _ struct{} `type:"structure"`
  68761. // The tag key.
  68762. Key *string `locationName:"key" type:"string"`
  68763. // The ID of the resource.
  68764. ResourceId *string `locationName:"resourceId" type:"string"`
  68765. // The resource type.
  68766. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  68767. // The tag value.
  68768. Value *string `locationName:"value" type:"string"`
  68769. }
  68770. // String returns the string representation
  68771. func (s TagDescription) String() string {
  68772. return awsutil.Prettify(s)
  68773. }
  68774. // GoString returns the string representation
  68775. func (s TagDescription) GoString() string {
  68776. return s.String()
  68777. }
  68778. // SetKey sets the Key field's value.
  68779. func (s *TagDescription) SetKey(v string) *TagDescription {
  68780. s.Key = &v
  68781. return s
  68782. }
  68783. // SetResourceId sets the ResourceId field's value.
  68784. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  68785. s.ResourceId = &v
  68786. return s
  68787. }
  68788. // SetResourceType sets the ResourceType field's value.
  68789. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  68790. s.ResourceType = &v
  68791. return s
  68792. }
  68793. // SetValue sets the Value field's value.
  68794. func (s *TagDescription) SetValue(v string) *TagDescription {
  68795. s.Value = &v
  68796. return s
  68797. }
  68798. // The tags to apply to a resource when the resource is being created.
  68799. type TagSpecification struct {
  68800. _ struct{} `type:"structure"`
  68801. // The type of resource to tag. Currently, the resource types that support tagging
  68802. // on creation are fleet, dedicated-host, instance, snapshot, and volume. To
  68803. // tag a resource after it has been created, see CreateTags.
  68804. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  68805. // The tags to apply to the resource.
  68806. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  68807. }
  68808. // String returns the string representation
  68809. func (s TagSpecification) String() string {
  68810. return awsutil.Prettify(s)
  68811. }
  68812. // GoString returns the string representation
  68813. func (s TagSpecification) GoString() string {
  68814. return s.String()
  68815. }
  68816. // SetResourceType sets the ResourceType field's value.
  68817. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  68818. s.ResourceType = &v
  68819. return s
  68820. }
  68821. // SetTags sets the Tags field's value.
  68822. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  68823. s.Tags = v
  68824. return s
  68825. }
  68826. // The number of units to request. You can choose to set the target capacity
  68827. // in terms of instances or a performance characteristic that is important to
  68828. // your application workload, such as vCPUs, memory, or I/O. If the request
  68829. // type is maintain, you can specify a target capacity of 0 and add capacity
  68830. // later.
  68831. type TargetCapacitySpecification struct {
  68832. _ struct{} `type:"structure"`
  68833. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  68834. DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
  68835. // The number of On-Demand units to request.
  68836. OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
  68837. // The maximum number of Spot units to launch.
  68838. SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
  68839. // The number of units to request, filled using DefaultTargetCapacityType.
  68840. TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
  68841. }
  68842. // String returns the string representation
  68843. func (s TargetCapacitySpecification) String() string {
  68844. return awsutil.Prettify(s)
  68845. }
  68846. // GoString returns the string representation
  68847. func (s TargetCapacitySpecification) GoString() string {
  68848. return s.String()
  68849. }
  68850. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  68851. func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
  68852. s.DefaultTargetCapacityType = &v
  68853. return s
  68854. }
  68855. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  68856. func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
  68857. s.OnDemandTargetCapacity = &v
  68858. return s
  68859. }
  68860. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  68861. func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
  68862. s.SpotTargetCapacity = &v
  68863. return s
  68864. }
  68865. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  68866. func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
  68867. s.TotalTargetCapacity = &v
  68868. return s
  68869. }
  68870. // The number of units to request. You can choose to set the target capacity
  68871. // in terms of instances or a performance characteristic that is important to
  68872. // your application workload, such as vCPUs, memory, or I/O. If the request
  68873. // type is maintain, you can specify a target capacity of 0 and add capacity
  68874. // later.
  68875. type TargetCapacitySpecificationRequest struct {
  68876. _ struct{} `type:"structure"`
  68877. // The default TotalTargetCapacity, which is either Spot or On-Demand.
  68878. DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
  68879. // The number of On-Demand units to request.
  68880. OnDemandTargetCapacity *int64 `type:"integer"`
  68881. // The number of Spot units to request.
  68882. SpotTargetCapacity *int64 `type:"integer"`
  68883. // The number of units to request, filled using DefaultTargetCapacityType.
  68884. //
  68885. // TotalTargetCapacity is a required field
  68886. TotalTargetCapacity *int64 `type:"integer" required:"true"`
  68887. }
  68888. // String returns the string representation
  68889. func (s TargetCapacitySpecificationRequest) String() string {
  68890. return awsutil.Prettify(s)
  68891. }
  68892. // GoString returns the string representation
  68893. func (s TargetCapacitySpecificationRequest) GoString() string {
  68894. return s.String()
  68895. }
  68896. // Validate inspects the fields of the type to determine if they are valid.
  68897. func (s *TargetCapacitySpecificationRequest) Validate() error {
  68898. invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
  68899. if s.TotalTargetCapacity == nil {
  68900. invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
  68901. }
  68902. if invalidParams.Len() > 0 {
  68903. return invalidParams
  68904. }
  68905. return nil
  68906. }
  68907. // SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
  68908. func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
  68909. s.DefaultTargetCapacityType = &v
  68910. return s
  68911. }
  68912. // SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
  68913. func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  68914. s.OnDemandTargetCapacity = &v
  68915. return s
  68916. }
  68917. // SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
  68918. func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  68919. s.SpotTargetCapacity = &v
  68920. return s
  68921. }
  68922. // SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
  68923. func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
  68924. s.TotalTargetCapacity = &v
  68925. return s
  68926. }
  68927. // Information about the Convertible Reserved Instance offering.
  68928. type TargetConfiguration struct {
  68929. _ struct{} `type:"structure"`
  68930. // The number of instances the Convertible Reserved Instance offering can be
  68931. // applied to. This parameter is reserved and cannot be specified in a request
  68932. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  68933. // The ID of the Convertible Reserved Instance offering.
  68934. OfferingId *string `locationName:"offeringId" type:"string"`
  68935. }
  68936. // String returns the string representation
  68937. func (s TargetConfiguration) String() string {
  68938. return awsutil.Prettify(s)
  68939. }
  68940. // GoString returns the string representation
  68941. func (s TargetConfiguration) GoString() string {
  68942. return s.String()
  68943. }
  68944. // SetInstanceCount sets the InstanceCount field's value.
  68945. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  68946. s.InstanceCount = &v
  68947. return s
  68948. }
  68949. // SetOfferingId sets the OfferingId field's value.
  68950. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  68951. s.OfferingId = &v
  68952. return s
  68953. }
  68954. // Details about the target configuration.
  68955. type TargetConfigurationRequest struct {
  68956. _ struct{} `type:"structure"`
  68957. // The number of instances the Covertible Reserved Instance offering can be
  68958. // applied to. This parameter is reserved and cannot be specified in a request
  68959. InstanceCount *int64 `type:"integer"`
  68960. // The Convertible Reserved Instance offering ID.
  68961. //
  68962. // OfferingId is a required field
  68963. OfferingId *string `type:"string" required:"true"`
  68964. }
  68965. // String returns the string representation
  68966. func (s TargetConfigurationRequest) String() string {
  68967. return awsutil.Prettify(s)
  68968. }
  68969. // GoString returns the string representation
  68970. func (s TargetConfigurationRequest) GoString() string {
  68971. return s.String()
  68972. }
  68973. // Validate inspects the fields of the type to determine if they are valid.
  68974. func (s *TargetConfigurationRequest) Validate() error {
  68975. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  68976. if s.OfferingId == nil {
  68977. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  68978. }
  68979. if invalidParams.Len() > 0 {
  68980. return invalidParams
  68981. }
  68982. return nil
  68983. }
  68984. // SetInstanceCount sets the InstanceCount field's value.
  68985. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  68986. s.InstanceCount = &v
  68987. return s
  68988. }
  68989. // SetOfferingId sets the OfferingId field's value.
  68990. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  68991. s.OfferingId = &v
  68992. return s
  68993. }
  68994. // Describes a load balancer target group.
  68995. type TargetGroup struct {
  68996. _ struct{} `type:"structure"`
  68997. // The Amazon Resource Name (ARN) of the target group.
  68998. Arn *string `locationName:"arn" type:"string"`
  68999. }
  69000. // String returns the string representation
  69001. func (s TargetGroup) String() string {
  69002. return awsutil.Prettify(s)
  69003. }
  69004. // GoString returns the string representation
  69005. func (s TargetGroup) GoString() string {
  69006. return s.String()
  69007. }
  69008. // SetArn sets the Arn field's value.
  69009. func (s *TargetGroup) SetArn(v string) *TargetGroup {
  69010. s.Arn = &v
  69011. return s
  69012. }
  69013. // Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
  69014. // the running Spot Instances with these target groups.
  69015. type TargetGroupsConfig struct {
  69016. _ struct{} `type:"structure"`
  69017. // One or more target groups.
  69018. TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
  69019. }
  69020. // String returns the string representation
  69021. func (s TargetGroupsConfig) String() string {
  69022. return awsutil.Prettify(s)
  69023. }
  69024. // GoString returns the string representation
  69025. func (s TargetGroupsConfig) GoString() string {
  69026. return s.String()
  69027. }
  69028. // Validate inspects the fields of the type to determine if they are valid.
  69029. func (s *TargetGroupsConfig) Validate() error {
  69030. invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
  69031. if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
  69032. invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
  69033. }
  69034. if invalidParams.Len() > 0 {
  69035. return invalidParams
  69036. }
  69037. return nil
  69038. }
  69039. // SetTargetGroups sets the TargetGroups field's value.
  69040. func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
  69041. s.TargetGroups = v
  69042. return s
  69043. }
  69044. // Describes a target network associated with a Client VPN endpoint.
  69045. type TargetNetwork struct {
  69046. _ struct{} `type:"structure"`
  69047. // The ID of the association.
  69048. AssociationId *string `locationName:"associationId" type:"string"`
  69049. // The ID of the Client VPN endpoint with which the target network is associated.
  69050. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  69051. // The IDs of the security groups applied to the target network association.
  69052. SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
  69053. // The current state of the target network association.
  69054. Status *AssociationStatus `locationName:"status" type:"structure"`
  69055. // The ID of the subnet specified as the target network.
  69056. TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
  69057. // The ID of the VPC in which the target network (subnet) is located.
  69058. VpcId *string `locationName:"vpcId" type:"string"`
  69059. }
  69060. // String returns the string representation
  69061. func (s TargetNetwork) String() string {
  69062. return awsutil.Prettify(s)
  69063. }
  69064. // GoString returns the string representation
  69065. func (s TargetNetwork) GoString() string {
  69066. return s.String()
  69067. }
  69068. // SetAssociationId sets the AssociationId field's value.
  69069. func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
  69070. s.AssociationId = &v
  69071. return s
  69072. }
  69073. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  69074. func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
  69075. s.ClientVpnEndpointId = &v
  69076. return s
  69077. }
  69078. // SetSecurityGroups sets the SecurityGroups field's value.
  69079. func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
  69080. s.SecurityGroups = v
  69081. return s
  69082. }
  69083. // SetStatus sets the Status field's value.
  69084. func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
  69085. s.Status = v
  69086. return s
  69087. }
  69088. // SetTargetNetworkId sets the TargetNetworkId field's value.
  69089. func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
  69090. s.TargetNetworkId = &v
  69091. return s
  69092. }
  69093. // SetVpcId sets the VpcId field's value.
  69094. func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
  69095. s.VpcId = &v
  69096. return s
  69097. }
  69098. // The total value of the new Convertible Reserved Instances.
  69099. type TargetReservationValue struct {
  69100. _ struct{} `type:"structure"`
  69101. // The total value of the Convertible Reserved Instances that make up the exchange.
  69102. // This is the sum of the list value, remaining upfront price, and additional
  69103. // upfront cost of the exchange.
  69104. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  69105. // The configuration of the Convertible Reserved Instances that make up the
  69106. // exchange.
  69107. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  69108. }
  69109. // String returns the string representation
  69110. func (s TargetReservationValue) String() string {
  69111. return awsutil.Prettify(s)
  69112. }
  69113. // GoString returns the string representation
  69114. func (s TargetReservationValue) GoString() string {
  69115. return s.String()
  69116. }
  69117. // SetReservationValue sets the ReservationValue field's value.
  69118. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  69119. s.ReservationValue = v
  69120. return s
  69121. }
  69122. // SetTargetConfiguration sets the TargetConfiguration field's value.
  69123. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  69124. s.TargetConfiguration = v
  69125. return s
  69126. }
  69127. type TerminateClientVpnConnectionsInput struct {
  69128. _ struct{} `type:"structure"`
  69129. // The ID of the Client VPN endpoint to which the client is connected.
  69130. //
  69131. // ClientVpnEndpointId is a required field
  69132. ClientVpnEndpointId *string `type:"string" required:"true"`
  69133. // The ID of the client connection to be terminated.
  69134. ConnectionId *string `type:"string"`
  69135. // Checks whether you have the required permissions for the action, without
  69136. // actually making the request, and provides an error response. If you have
  69137. // the required permissions, the error response is DryRunOperation. Otherwise,
  69138. // it is UnauthorizedOperation.
  69139. DryRun *bool `type:"boolean"`
  69140. // The name of the user who initiated the connection. Use this option to terminate
  69141. // all active connections for the specified user. This option can only be used
  69142. // if the user has established up to five connections.
  69143. Username *string `type:"string"`
  69144. }
  69145. // String returns the string representation
  69146. func (s TerminateClientVpnConnectionsInput) String() string {
  69147. return awsutil.Prettify(s)
  69148. }
  69149. // GoString returns the string representation
  69150. func (s TerminateClientVpnConnectionsInput) GoString() string {
  69151. return s.String()
  69152. }
  69153. // Validate inspects the fields of the type to determine if they are valid.
  69154. func (s *TerminateClientVpnConnectionsInput) Validate() error {
  69155. invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
  69156. if s.ClientVpnEndpointId == nil {
  69157. invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
  69158. }
  69159. if invalidParams.Len() > 0 {
  69160. return invalidParams
  69161. }
  69162. return nil
  69163. }
  69164. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  69165. func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
  69166. s.ClientVpnEndpointId = &v
  69167. return s
  69168. }
  69169. // SetConnectionId sets the ConnectionId field's value.
  69170. func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
  69171. s.ConnectionId = &v
  69172. return s
  69173. }
  69174. // SetDryRun sets the DryRun field's value.
  69175. func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
  69176. s.DryRun = &v
  69177. return s
  69178. }
  69179. // SetUsername sets the Username field's value.
  69180. func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
  69181. s.Username = &v
  69182. return s
  69183. }
  69184. type TerminateClientVpnConnectionsOutput struct {
  69185. _ struct{} `type:"structure"`
  69186. // The ID of the Client VPN endpoint.
  69187. ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
  69188. // The current state of the client connections.
  69189. ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
  69190. // The user who established the terminated client connections.
  69191. Username *string `locationName:"username" type:"string"`
  69192. }
  69193. // String returns the string representation
  69194. func (s TerminateClientVpnConnectionsOutput) String() string {
  69195. return awsutil.Prettify(s)
  69196. }
  69197. // GoString returns the string representation
  69198. func (s TerminateClientVpnConnectionsOutput) GoString() string {
  69199. return s.String()
  69200. }
  69201. // SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
  69202. func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
  69203. s.ClientVpnEndpointId = &v
  69204. return s
  69205. }
  69206. // SetConnectionStatuses sets the ConnectionStatuses field's value.
  69207. func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
  69208. s.ConnectionStatuses = v
  69209. return s
  69210. }
  69211. // SetUsername sets the Username field's value.
  69212. func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
  69213. s.Username = &v
  69214. return s
  69215. }
  69216. // Information about a terminated Client VPN endpoint client connection.
  69217. type TerminateConnectionStatus struct {
  69218. _ struct{} `type:"structure"`
  69219. // The ID of the client connection.
  69220. ConnectionId *string `locationName:"connectionId" type:"string"`
  69221. // A message about the status of the client connection, if applicable.
  69222. CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
  69223. // The state of the client connection.
  69224. PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
  69225. }
  69226. // String returns the string representation
  69227. func (s TerminateConnectionStatus) String() string {
  69228. return awsutil.Prettify(s)
  69229. }
  69230. // GoString returns the string representation
  69231. func (s TerminateConnectionStatus) GoString() string {
  69232. return s.String()
  69233. }
  69234. // SetConnectionId sets the ConnectionId field's value.
  69235. func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
  69236. s.ConnectionId = &v
  69237. return s
  69238. }
  69239. // SetCurrentStatus sets the CurrentStatus field's value.
  69240. func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
  69241. s.CurrentStatus = v
  69242. return s
  69243. }
  69244. // SetPreviousStatus sets the PreviousStatus field's value.
  69245. func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
  69246. s.PreviousStatus = v
  69247. return s
  69248. }
  69249. type TerminateInstancesInput struct {
  69250. _ struct{} `type:"structure"`
  69251. // Checks whether you have the required permissions for the action, without
  69252. // actually making the request, and provides an error response. If you have
  69253. // the required permissions, the error response is DryRunOperation. Otherwise,
  69254. // it is UnauthorizedOperation.
  69255. DryRun *bool `locationName:"dryRun" type:"boolean"`
  69256. // One or more instance IDs.
  69257. //
  69258. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  69259. // into smaller batches.
  69260. //
  69261. // InstanceIds is a required field
  69262. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  69263. }
  69264. // String returns the string representation
  69265. func (s TerminateInstancesInput) String() string {
  69266. return awsutil.Prettify(s)
  69267. }
  69268. // GoString returns the string representation
  69269. func (s TerminateInstancesInput) GoString() string {
  69270. return s.String()
  69271. }
  69272. // Validate inspects the fields of the type to determine if they are valid.
  69273. func (s *TerminateInstancesInput) Validate() error {
  69274. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  69275. if s.InstanceIds == nil {
  69276. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  69277. }
  69278. if invalidParams.Len() > 0 {
  69279. return invalidParams
  69280. }
  69281. return nil
  69282. }
  69283. // SetDryRun sets the DryRun field's value.
  69284. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  69285. s.DryRun = &v
  69286. return s
  69287. }
  69288. // SetInstanceIds sets the InstanceIds field's value.
  69289. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  69290. s.InstanceIds = v
  69291. return s
  69292. }
  69293. type TerminateInstancesOutput struct {
  69294. _ struct{} `type:"structure"`
  69295. // Information about one or more terminated instances.
  69296. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  69297. }
  69298. // String returns the string representation
  69299. func (s TerminateInstancesOutput) String() string {
  69300. return awsutil.Prettify(s)
  69301. }
  69302. // GoString returns the string representation
  69303. func (s TerminateInstancesOutput) GoString() string {
  69304. return s.String()
  69305. }
  69306. // SetTerminatingInstances sets the TerminatingInstances field's value.
  69307. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  69308. s.TerminatingInstances = v
  69309. return s
  69310. }
  69311. // Describes a transit gateway.
  69312. type TransitGateway struct {
  69313. _ struct{} `type:"structure"`
  69314. // The creation time.
  69315. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  69316. // The description of the transit gateway.
  69317. Description *string `locationName:"description" type:"string"`
  69318. // The transit gateway options.
  69319. Options *TransitGatewayOptions `locationName:"options" type:"structure"`
  69320. // The ID of the AWS account ID that owns the transit gateway.
  69321. OwnerId *string `locationName:"ownerId" type:"string"`
  69322. // The state of the transit gateway.
  69323. State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
  69324. // The tags for the transit gateway.
  69325. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  69326. // The Amazon Resource Name (ARN) of the transit gateway.
  69327. TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
  69328. // The ID of the transit gateway.
  69329. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  69330. }
  69331. // String returns the string representation
  69332. func (s TransitGateway) String() string {
  69333. return awsutil.Prettify(s)
  69334. }
  69335. // GoString returns the string representation
  69336. func (s TransitGateway) GoString() string {
  69337. return s.String()
  69338. }
  69339. // SetCreationTime sets the CreationTime field's value.
  69340. func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
  69341. s.CreationTime = &v
  69342. return s
  69343. }
  69344. // SetDescription sets the Description field's value.
  69345. func (s *TransitGateway) SetDescription(v string) *TransitGateway {
  69346. s.Description = &v
  69347. return s
  69348. }
  69349. // SetOptions sets the Options field's value.
  69350. func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
  69351. s.Options = v
  69352. return s
  69353. }
  69354. // SetOwnerId sets the OwnerId field's value.
  69355. func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
  69356. s.OwnerId = &v
  69357. return s
  69358. }
  69359. // SetState sets the State field's value.
  69360. func (s *TransitGateway) SetState(v string) *TransitGateway {
  69361. s.State = &v
  69362. return s
  69363. }
  69364. // SetTags sets the Tags field's value.
  69365. func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
  69366. s.Tags = v
  69367. return s
  69368. }
  69369. // SetTransitGatewayArn sets the TransitGatewayArn field's value.
  69370. func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
  69371. s.TransitGatewayArn = &v
  69372. return s
  69373. }
  69374. // SetTransitGatewayId sets the TransitGatewayId field's value.
  69375. func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
  69376. s.TransitGatewayId = &v
  69377. return s
  69378. }
  69379. // Describes an association between a resource attachment and a transit gateway
  69380. // route table.
  69381. type TransitGatewayAssociation struct {
  69382. _ struct{} `type:"structure"`
  69383. // The ID of the resource.
  69384. ResourceId *string `locationName:"resourceId" type:"string"`
  69385. // The resource type.
  69386. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69387. // The state of the association.
  69388. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  69389. // The ID of the attachment.
  69390. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69391. // The ID of the transit gateway route table.
  69392. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  69393. }
  69394. // String returns the string representation
  69395. func (s TransitGatewayAssociation) String() string {
  69396. return awsutil.Prettify(s)
  69397. }
  69398. // GoString returns the string representation
  69399. func (s TransitGatewayAssociation) GoString() string {
  69400. return s.String()
  69401. }
  69402. // SetResourceId sets the ResourceId field's value.
  69403. func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
  69404. s.ResourceId = &v
  69405. return s
  69406. }
  69407. // SetResourceType sets the ResourceType field's value.
  69408. func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
  69409. s.ResourceType = &v
  69410. return s
  69411. }
  69412. // SetState sets the State field's value.
  69413. func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
  69414. s.State = &v
  69415. return s
  69416. }
  69417. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69418. func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
  69419. s.TransitGatewayAttachmentId = &v
  69420. return s
  69421. }
  69422. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  69423. func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
  69424. s.TransitGatewayRouteTableId = &v
  69425. return s
  69426. }
  69427. // Describes an attachment between a resource and a transit gateway.
  69428. type TransitGatewayAttachment struct {
  69429. _ struct{} `type:"structure"`
  69430. // The association.
  69431. Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
  69432. // The creation time.
  69433. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  69434. // The ID of the resource.
  69435. ResourceId *string `locationName:"resourceId" type:"string"`
  69436. // The ID of the AWS account that owns the resource.
  69437. ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
  69438. // The resource type.
  69439. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69440. // The attachment state.
  69441. State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
  69442. // The tags for the attachment.
  69443. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  69444. // The ID of the attachment.
  69445. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69446. // The ID of the transit gateway.
  69447. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  69448. // The ID of the AWS account that owns the transit gateway.
  69449. TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
  69450. }
  69451. // String returns the string representation
  69452. func (s TransitGatewayAttachment) String() string {
  69453. return awsutil.Prettify(s)
  69454. }
  69455. // GoString returns the string representation
  69456. func (s TransitGatewayAttachment) GoString() string {
  69457. return s.String()
  69458. }
  69459. // SetAssociation sets the Association field's value.
  69460. func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
  69461. s.Association = v
  69462. return s
  69463. }
  69464. // SetCreationTime sets the CreationTime field's value.
  69465. func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
  69466. s.CreationTime = &v
  69467. return s
  69468. }
  69469. // SetResourceId sets the ResourceId field's value.
  69470. func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
  69471. s.ResourceId = &v
  69472. return s
  69473. }
  69474. // SetResourceOwnerId sets the ResourceOwnerId field's value.
  69475. func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
  69476. s.ResourceOwnerId = &v
  69477. return s
  69478. }
  69479. // SetResourceType sets the ResourceType field's value.
  69480. func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
  69481. s.ResourceType = &v
  69482. return s
  69483. }
  69484. // SetState sets the State field's value.
  69485. func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
  69486. s.State = &v
  69487. return s
  69488. }
  69489. // SetTags sets the Tags field's value.
  69490. func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
  69491. s.Tags = v
  69492. return s
  69493. }
  69494. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69495. func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
  69496. s.TransitGatewayAttachmentId = &v
  69497. return s
  69498. }
  69499. // SetTransitGatewayId sets the TransitGatewayId field's value.
  69500. func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
  69501. s.TransitGatewayId = &v
  69502. return s
  69503. }
  69504. // SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
  69505. func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
  69506. s.TransitGatewayOwnerId = &v
  69507. return s
  69508. }
  69509. // Describes an association.
  69510. type TransitGatewayAttachmentAssociation struct {
  69511. _ struct{} `type:"structure"`
  69512. // The state of the association.
  69513. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  69514. // The ID of the route table for the transit gateway.
  69515. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  69516. }
  69517. // String returns the string representation
  69518. func (s TransitGatewayAttachmentAssociation) String() string {
  69519. return awsutil.Prettify(s)
  69520. }
  69521. // GoString returns the string representation
  69522. func (s TransitGatewayAttachmentAssociation) GoString() string {
  69523. return s.String()
  69524. }
  69525. // SetState sets the State field's value.
  69526. func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
  69527. s.State = &v
  69528. return s
  69529. }
  69530. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  69531. func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
  69532. s.TransitGatewayRouteTableId = &v
  69533. return s
  69534. }
  69535. // Describes a propagation route table.
  69536. type TransitGatewayAttachmentPropagation struct {
  69537. _ struct{} `type:"structure"`
  69538. // The state of the propagation route table.
  69539. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  69540. // The ID of the propagation route table.
  69541. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  69542. }
  69543. // String returns the string representation
  69544. func (s TransitGatewayAttachmentPropagation) String() string {
  69545. return awsutil.Prettify(s)
  69546. }
  69547. // GoString returns the string representation
  69548. func (s TransitGatewayAttachmentPropagation) GoString() string {
  69549. return s.String()
  69550. }
  69551. // SetState sets the State field's value.
  69552. func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
  69553. s.State = &v
  69554. return s
  69555. }
  69556. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  69557. func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
  69558. s.TransitGatewayRouteTableId = &v
  69559. return s
  69560. }
  69561. // Describes the options for a transit gateway.
  69562. type TransitGatewayOptions struct {
  69563. _ struct{} `type:"structure"`
  69564. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  69565. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
  69566. // for 32-bit ASNs.
  69567. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  69568. // The ID of the default association route table.
  69569. AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
  69570. // Indicates whether attachment requests are automatically accepted.
  69571. AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
  69572. // Indicates whether resource attachments are automatically associated with
  69573. // the default association route table.
  69574. DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
  69575. // Indicates whether resource attachments automatically propagate routes to
  69576. // the default propagation route table.
  69577. DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
  69578. // Indicates whether DNS support is enabled.
  69579. DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
  69580. // The ID of the default propagation route table.
  69581. PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
  69582. // Indicates whether Equal Cost Multipath Protocol support is enabled.
  69583. VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
  69584. }
  69585. // String returns the string representation
  69586. func (s TransitGatewayOptions) String() string {
  69587. return awsutil.Prettify(s)
  69588. }
  69589. // GoString returns the string representation
  69590. func (s TransitGatewayOptions) GoString() string {
  69591. return s.String()
  69592. }
  69593. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  69594. func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
  69595. s.AmazonSideAsn = &v
  69596. return s
  69597. }
  69598. // SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
  69599. func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
  69600. s.AssociationDefaultRouteTableId = &v
  69601. return s
  69602. }
  69603. // SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
  69604. func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
  69605. s.AutoAcceptSharedAttachments = &v
  69606. return s
  69607. }
  69608. // SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
  69609. func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
  69610. s.DefaultRouteTableAssociation = &v
  69611. return s
  69612. }
  69613. // SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
  69614. func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
  69615. s.DefaultRouteTablePropagation = &v
  69616. return s
  69617. }
  69618. // SetDnsSupport sets the DnsSupport field's value.
  69619. func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
  69620. s.DnsSupport = &v
  69621. return s
  69622. }
  69623. // SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
  69624. func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
  69625. s.PropagationDefaultRouteTableId = &v
  69626. return s
  69627. }
  69628. // SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
  69629. func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
  69630. s.VpnEcmpSupport = &v
  69631. return s
  69632. }
  69633. // Describes route propagation.
  69634. type TransitGatewayPropagation struct {
  69635. _ struct{} `type:"structure"`
  69636. // The ID of the resource.
  69637. ResourceId *string `locationName:"resourceId" type:"string"`
  69638. // The resource type.
  69639. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69640. // The state.
  69641. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  69642. // The ID of the attachment.
  69643. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69644. // The ID of the transit gateway route table.
  69645. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  69646. }
  69647. // String returns the string representation
  69648. func (s TransitGatewayPropagation) String() string {
  69649. return awsutil.Prettify(s)
  69650. }
  69651. // GoString returns the string representation
  69652. func (s TransitGatewayPropagation) GoString() string {
  69653. return s.String()
  69654. }
  69655. // SetResourceId sets the ResourceId field's value.
  69656. func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
  69657. s.ResourceId = &v
  69658. return s
  69659. }
  69660. // SetResourceType sets the ResourceType field's value.
  69661. func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
  69662. s.ResourceType = &v
  69663. return s
  69664. }
  69665. // SetState sets the State field's value.
  69666. func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
  69667. s.State = &v
  69668. return s
  69669. }
  69670. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69671. func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
  69672. s.TransitGatewayAttachmentId = &v
  69673. return s
  69674. }
  69675. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  69676. func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
  69677. s.TransitGatewayRouteTableId = &v
  69678. return s
  69679. }
  69680. // Describes the options for a transit gateway.
  69681. type TransitGatewayRequestOptions struct {
  69682. _ struct{} `type:"structure"`
  69683. // A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  69684. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
  69685. // for 32-bit ASNs.
  69686. AmazonSideAsn *int64 `type:"long"`
  69687. // Enable or disable automatic acceptance of attachment requests. The default
  69688. // is disable.
  69689. AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
  69690. // Enable or disable automatic association with the default association route
  69691. // table. The default is enable.
  69692. DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
  69693. // Enable or disable automatic propagation of routes to the default propagation
  69694. // route table. The default is enable.
  69695. DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
  69696. // Enable or disable DNS support.
  69697. DnsSupport *string `type:"string" enum:"DnsSupportValue"`
  69698. // Enable or disable Equal Cost Multipath Protocol support.
  69699. VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
  69700. }
  69701. // String returns the string representation
  69702. func (s TransitGatewayRequestOptions) String() string {
  69703. return awsutil.Prettify(s)
  69704. }
  69705. // GoString returns the string representation
  69706. func (s TransitGatewayRequestOptions) GoString() string {
  69707. return s.String()
  69708. }
  69709. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  69710. func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
  69711. s.AmazonSideAsn = &v
  69712. return s
  69713. }
  69714. // SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
  69715. func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
  69716. s.AutoAcceptSharedAttachments = &v
  69717. return s
  69718. }
  69719. // SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
  69720. func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
  69721. s.DefaultRouteTableAssociation = &v
  69722. return s
  69723. }
  69724. // SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
  69725. func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
  69726. s.DefaultRouteTablePropagation = &v
  69727. return s
  69728. }
  69729. // SetDnsSupport sets the DnsSupport field's value.
  69730. func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
  69731. s.DnsSupport = &v
  69732. return s
  69733. }
  69734. // SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
  69735. func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
  69736. s.VpnEcmpSupport = &v
  69737. return s
  69738. }
  69739. // Describes a route for a transit gateway route table.
  69740. type TransitGatewayRoute struct {
  69741. _ struct{} `type:"structure"`
  69742. // The CIDR block used for destination matches.
  69743. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  69744. // The state of the route.
  69745. State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
  69746. // The attachments.
  69747. TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
  69748. // The route type.
  69749. Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
  69750. }
  69751. // String returns the string representation
  69752. func (s TransitGatewayRoute) String() string {
  69753. return awsutil.Prettify(s)
  69754. }
  69755. // GoString returns the string representation
  69756. func (s TransitGatewayRoute) GoString() string {
  69757. return s.String()
  69758. }
  69759. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  69760. func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
  69761. s.DestinationCidrBlock = &v
  69762. return s
  69763. }
  69764. // SetState sets the State field's value.
  69765. func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
  69766. s.State = &v
  69767. return s
  69768. }
  69769. // SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
  69770. func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
  69771. s.TransitGatewayAttachments = v
  69772. return s
  69773. }
  69774. // SetType sets the Type field's value.
  69775. func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
  69776. s.Type = &v
  69777. return s
  69778. }
  69779. // Describes a route attachment.
  69780. type TransitGatewayRouteAttachment struct {
  69781. _ struct{} `type:"structure"`
  69782. // The ID of the resource.
  69783. ResourceId *string `locationName:"resourceId" type:"string"`
  69784. // The resource type.
  69785. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69786. // The ID of the attachment.
  69787. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69788. }
  69789. // String returns the string representation
  69790. func (s TransitGatewayRouteAttachment) String() string {
  69791. return awsutil.Prettify(s)
  69792. }
  69793. // GoString returns the string representation
  69794. func (s TransitGatewayRouteAttachment) GoString() string {
  69795. return s.String()
  69796. }
  69797. // SetResourceId sets the ResourceId field's value.
  69798. func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
  69799. s.ResourceId = &v
  69800. return s
  69801. }
  69802. // SetResourceType sets the ResourceType field's value.
  69803. func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
  69804. s.ResourceType = &v
  69805. return s
  69806. }
  69807. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69808. func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
  69809. s.TransitGatewayAttachmentId = &v
  69810. return s
  69811. }
  69812. // Describes a transit gateway route table.
  69813. type TransitGatewayRouteTable struct {
  69814. _ struct{} `type:"structure"`
  69815. // The creation time.
  69816. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  69817. // Indicates whether this is the default association route table for the transit
  69818. // gateway.
  69819. DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
  69820. // Indicates whether this is the default propagation route table for the transit
  69821. // gateway.
  69822. DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
  69823. // The state of the transit gateway route table.
  69824. State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
  69825. // Any tags assigned to the route table.
  69826. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  69827. // The ID of the transit gateway.
  69828. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  69829. // The ID of the transit gateway route table.
  69830. TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
  69831. }
  69832. // String returns the string representation
  69833. func (s TransitGatewayRouteTable) String() string {
  69834. return awsutil.Prettify(s)
  69835. }
  69836. // GoString returns the string representation
  69837. func (s TransitGatewayRouteTable) GoString() string {
  69838. return s.String()
  69839. }
  69840. // SetCreationTime sets the CreationTime field's value.
  69841. func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
  69842. s.CreationTime = &v
  69843. return s
  69844. }
  69845. // SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
  69846. func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
  69847. s.DefaultAssociationRouteTable = &v
  69848. return s
  69849. }
  69850. // SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
  69851. func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
  69852. s.DefaultPropagationRouteTable = &v
  69853. return s
  69854. }
  69855. // SetState sets the State field's value.
  69856. func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
  69857. s.State = &v
  69858. return s
  69859. }
  69860. // SetTags sets the Tags field's value.
  69861. func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
  69862. s.Tags = v
  69863. return s
  69864. }
  69865. // SetTransitGatewayId sets the TransitGatewayId field's value.
  69866. func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
  69867. s.TransitGatewayId = &v
  69868. return s
  69869. }
  69870. // SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
  69871. func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
  69872. s.TransitGatewayRouteTableId = &v
  69873. return s
  69874. }
  69875. // Describes an association between a route table and a resource attachment.
  69876. type TransitGatewayRouteTableAssociation struct {
  69877. _ struct{} `type:"structure"`
  69878. // The ID of the resource.
  69879. ResourceId *string `locationName:"resourceId" type:"string"`
  69880. // The resource type.
  69881. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69882. // The state of the association.
  69883. State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
  69884. // The ID of the attachment.
  69885. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69886. }
  69887. // String returns the string representation
  69888. func (s TransitGatewayRouteTableAssociation) String() string {
  69889. return awsutil.Prettify(s)
  69890. }
  69891. // GoString returns the string representation
  69892. func (s TransitGatewayRouteTableAssociation) GoString() string {
  69893. return s.String()
  69894. }
  69895. // SetResourceId sets the ResourceId field's value.
  69896. func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
  69897. s.ResourceId = &v
  69898. return s
  69899. }
  69900. // SetResourceType sets the ResourceType field's value.
  69901. func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
  69902. s.ResourceType = &v
  69903. return s
  69904. }
  69905. // SetState sets the State field's value.
  69906. func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
  69907. s.State = &v
  69908. return s
  69909. }
  69910. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69911. func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
  69912. s.TransitGatewayAttachmentId = &v
  69913. return s
  69914. }
  69915. // Describes a route table propagation.
  69916. type TransitGatewayRouteTablePropagation struct {
  69917. _ struct{} `type:"structure"`
  69918. // The ID of the resource.
  69919. ResourceId *string `locationName:"resourceId" type:"string"`
  69920. // The type of resource.
  69921. ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
  69922. // The state of the resource.
  69923. State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
  69924. // The ID of the attachment.
  69925. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69926. }
  69927. // String returns the string representation
  69928. func (s TransitGatewayRouteTablePropagation) String() string {
  69929. return awsutil.Prettify(s)
  69930. }
  69931. // GoString returns the string representation
  69932. func (s TransitGatewayRouteTablePropagation) GoString() string {
  69933. return s.String()
  69934. }
  69935. // SetResourceId sets the ResourceId field's value.
  69936. func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
  69937. s.ResourceId = &v
  69938. return s
  69939. }
  69940. // SetResourceType sets the ResourceType field's value.
  69941. func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
  69942. s.ResourceType = &v
  69943. return s
  69944. }
  69945. // SetState sets the State field's value.
  69946. func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
  69947. s.State = &v
  69948. return s
  69949. }
  69950. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  69951. func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
  69952. s.TransitGatewayAttachmentId = &v
  69953. return s
  69954. }
  69955. // Describes a VPC attachment.
  69956. type TransitGatewayVpcAttachment struct {
  69957. _ struct{} `type:"structure"`
  69958. // The creation time.
  69959. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  69960. // The VPC attachment options.
  69961. Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
  69962. // The state of the VPC attachment.
  69963. State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
  69964. // The IDs of the subnets.
  69965. SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
  69966. // The tags for the VPC attachment.
  69967. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  69968. // The ID of the attachment.
  69969. TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
  69970. // The ID of the transit gateway.
  69971. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  69972. // The ID of the VPC.
  69973. VpcId *string `locationName:"vpcId" type:"string"`
  69974. // The ID of the AWS account that owns the VPC.
  69975. VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
  69976. }
  69977. // String returns the string representation
  69978. func (s TransitGatewayVpcAttachment) String() string {
  69979. return awsutil.Prettify(s)
  69980. }
  69981. // GoString returns the string representation
  69982. func (s TransitGatewayVpcAttachment) GoString() string {
  69983. return s.String()
  69984. }
  69985. // SetCreationTime sets the CreationTime field's value.
  69986. func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
  69987. s.CreationTime = &v
  69988. return s
  69989. }
  69990. // SetOptions sets the Options field's value.
  69991. func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
  69992. s.Options = v
  69993. return s
  69994. }
  69995. // SetState sets the State field's value.
  69996. func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
  69997. s.State = &v
  69998. return s
  69999. }
  70000. // SetSubnetIds sets the SubnetIds field's value.
  70001. func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
  70002. s.SubnetIds = v
  70003. return s
  70004. }
  70005. // SetTags sets the Tags field's value.
  70006. func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
  70007. s.Tags = v
  70008. return s
  70009. }
  70010. // SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
  70011. func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
  70012. s.TransitGatewayAttachmentId = &v
  70013. return s
  70014. }
  70015. // SetTransitGatewayId sets the TransitGatewayId field's value.
  70016. func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
  70017. s.TransitGatewayId = &v
  70018. return s
  70019. }
  70020. // SetVpcId sets the VpcId field's value.
  70021. func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
  70022. s.VpcId = &v
  70023. return s
  70024. }
  70025. // SetVpcOwnerId sets the VpcOwnerId field's value.
  70026. func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
  70027. s.VpcOwnerId = &v
  70028. return s
  70029. }
  70030. // Describes the VPC attachment options.
  70031. type TransitGatewayVpcAttachmentOptions struct {
  70032. _ struct{} `type:"structure"`
  70033. // Indicates whether DNS support is enabled.
  70034. DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
  70035. // Indicates whether IPv6 support is enabled.
  70036. Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
  70037. }
  70038. // String returns the string representation
  70039. func (s TransitGatewayVpcAttachmentOptions) String() string {
  70040. return awsutil.Prettify(s)
  70041. }
  70042. // GoString returns the string representation
  70043. func (s TransitGatewayVpcAttachmentOptions) GoString() string {
  70044. return s.String()
  70045. }
  70046. // SetDnsSupport sets the DnsSupport field's value.
  70047. func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
  70048. s.DnsSupport = &v
  70049. return s
  70050. }
  70051. // SetIpv6Support sets the Ipv6Support field's value.
  70052. func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
  70053. s.Ipv6Support = &v
  70054. return s
  70055. }
  70056. type UnassignIpv6AddressesInput struct {
  70057. _ struct{} `type:"structure"`
  70058. // The IPv6 addresses to unassign from the network interface.
  70059. //
  70060. // Ipv6Addresses is a required field
  70061. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  70062. // The ID of the network interface.
  70063. //
  70064. // NetworkInterfaceId is a required field
  70065. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  70066. }
  70067. // String returns the string representation
  70068. func (s UnassignIpv6AddressesInput) String() string {
  70069. return awsutil.Prettify(s)
  70070. }
  70071. // GoString returns the string representation
  70072. func (s UnassignIpv6AddressesInput) GoString() string {
  70073. return s.String()
  70074. }
  70075. // Validate inspects the fields of the type to determine if they are valid.
  70076. func (s *UnassignIpv6AddressesInput) Validate() error {
  70077. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  70078. if s.Ipv6Addresses == nil {
  70079. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  70080. }
  70081. if s.NetworkInterfaceId == nil {
  70082. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  70083. }
  70084. if invalidParams.Len() > 0 {
  70085. return invalidParams
  70086. }
  70087. return nil
  70088. }
  70089. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  70090. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  70091. s.Ipv6Addresses = v
  70092. return s
  70093. }
  70094. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  70095. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  70096. s.NetworkInterfaceId = &v
  70097. return s
  70098. }
  70099. type UnassignIpv6AddressesOutput struct {
  70100. _ struct{} `type:"structure"`
  70101. // The ID of the network interface.
  70102. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  70103. // The IPv6 addresses that have been unassigned from the network interface.
  70104. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  70105. }
  70106. // String returns the string representation
  70107. func (s UnassignIpv6AddressesOutput) String() string {
  70108. return awsutil.Prettify(s)
  70109. }
  70110. // GoString returns the string representation
  70111. func (s UnassignIpv6AddressesOutput) GoString() string {
  70112. return s.String()
  70113. }
  70114. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  70115. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  70116. s.NetworkInterfaceId = &v
  70117. return s
  70118. }
  70119. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  70120. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  70121. s.UnassignedIpv6Addresses = v
  70122. return s
  70123. }
  70124. // Contains the parameters for UnassignPrivateIpAddresses.
  70125. type UnassignPrivateIpAddressesInput struct {
  70126. _ struct{} `type:"structure"`
  70127. // The ID of the network interface.
  70128. //
  70129. // NetworkInterfaceId is a required field
  70130. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  70131. // The secondary private IP addresses to unassign from the network interface.
  70132. // You can specify this option multiple times to unassign more than one IP address.
  70133. //
  70134. // PrivateIpAddresses is a required field
  70135. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  70136. }
  70137. // String returns the string representation
  70138. func (s UnassignPrivateIpAddressesInput) String() string {
  70139. return awsutil.Prettify(s)
  70140. }
  70141. // GoString returns the string representation
  70142. func (s UnassignPrivateIpAddressesInput) GoString() string {
  70143. return s.String()
  70144. }
  70145. // Validate inspects the fields of the type to determine if they are valid.
  70146. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  70147. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  70148. if s.NetworkInterfaceId == nil {
  70149. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  70150. }
  70151. if s.PrivateIpAddresses == nil {
  70152. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  70153. }
  70154. if invalidParams.Len() > 0 {
  70155. return invalidParams
  70156. }
  70157. return nil
  70158. }
  70159. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  70160. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  70161. s.NetworkInterfaceId = &v
  70162. return s
  70163. }
  70164. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  70165. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  70166. s.PrivateIpAddresses = v
  70167. return s
  70168. }
  70169. type UnassignPrivateIpAddressesOutput struct {
  70170. _ struct{} `type:"structure"`
  70171. }
  70172. // String returns the string representation
  70173. func (s UnassignPrivateIpAddressesOutput) String() string {
  70174. return awsutil.Prettify(s)
  70175. }
  70176. // GoString returns the string representation
  70177. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  70178. return s.String()
  70179. }
  70180. type UnmonitorInstancesInput struct {
  70181. _ struct{} `type:"structure"`
  70182. // Checks whether you have the required permissions for the action, without
  70183. // actually making the request, and provides an error response. If you have
  70184. // the required permissions, the error response is DryRunOperation. Otherwise,
  70185. // it is UnauthorizedOperation.
  70186. DryRun *bool `locationName:"dryRun" type:"boolean"`
  70187. // One or more instance IDs.
  70188. //
  70189. // InstanceIds is a required field
  70190. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  70191. }
  70192. // String returns the string representation
  70193. func (s UnmonitorInstancesInput) String() string {
  70194. return awsutil.Prettify(s)
  70195. }
  70196. // GoString returns the string representation
  70197. func (s UnmonitorInstancesInput) GoString() string {
  70198. return s.String()
  70199. }
  70200. // Validate inspects the fields of the type to determine if they are valid.
  70201. func (s *UnmonitorInstancesInput) Validate() error {
  70202. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  70203. if s.InstanceIds == nil {
  70204. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  70205. }
  70206. if invalidParams.Len() > 0 {
  70207. return invalidParams
  70208. }
  70209. return nil
  70210. }
  70211. // SetDryRun sets the DryRun field's value.
  70212. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  70213. s.DryRun = &v
  70214. return s
  70215. }
  70216. // SetInstanceIds sets the InstanceIds field's value.
  70217. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  70218. s.InstanceIds = v
  70219. return s
  70220. }
  70221. type UnmonitorInstancesOutput struct {
  70222. _ struct{} `type:"structure"`
  70223. // The monitoring information.
  70224. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  70225. }
  70226. // String returns the string representation
  70227. func (s UnmonitorInstancesOutput) String() string {
  70228. return awsutil.Prettify(s)
  70229. }
  70230. // GoString returns the string representation
  70231. func (s UnmonitorInstancesOutput) GoString() string {
  70232. return s.String()
  70233. }
  70234. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  70235. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  70236. s.InstanceMonitorings = v
  70237. return s
  70238. }
  70239. // Describes the T2 or T3 instance whose credit option for CPU usage was not
  70240. // modified.
  70241. type UnsuccessfulInstanceCreditSpecificationItem struct {
  70242. _ struct{} `type:"structure"`
  70243. // The applicable error for the T2 or T3 instance whose credit option for CPU
  70244. // usage was not modified.
  70245. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
  70246. // The ID of the instance.
  70247. InstanceId *string `locationName:"instanceId" type:"string"`
  70248. }
  70249. // String returns the string representation
  70250. func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
  70251. return awsutil.Prettify(s)
  70252. }
  70253. // GoString returns the string representation
  70254. func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
  70255. return s.String()
  70256. }
  70257. // SetError sets the Error field's value.
  70258. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
  70259. s.Error = v
  70260. return s
  70261. }
  70262. // SetInstanceId sets the InstanceId field's value.
  70263. func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
  70264. s.InstanceId = &v
  70265. return s
  70266. }
  70267. // Information about the error for the T2 or T3 instance whose credit option
  70268. // for CPU usage was not modified.
  70269. type UnsuccessfulInstanceCreditSpecificationItemError struct {
  70270. _ struct{} `type:"structure"`
  70271. // The error code.
  70272. Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
  70273. // The applicable error message.
  70274. Message *string `locationName:"message" type:"string"`
  70275. }
  70276. // String returns the string representation
  70277. func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
  70278. return awsutil.Prettify(s)
  70279. }
  70280. // GoString returns the string representation
  70281. func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
  70282. return s.String()
  70283. }
  70284. // SetCode sets the Code field's value.
  70285. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  70286. s.Code = &v
  70287. return s
  70288. }
  70289. // SetMessage sets the Message field's value.
  70290. func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
  70291. s.Message = &v
  70292. return s
  70293. }
  70294. // Information about items that were not successfully processed in a batch call.
  70295. type UnsuccessfulItem struct {
  70296. _ struct{} `type:"structure"`
  70297. // Information about the error.
  70298. Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
  70299. // The ID of the resource.
  70300. ResourceId *string `locationName:"resourceId" type:"string"`
  70301. }
  70302. // String returns the string representation
  70303. func (s UnsuccessfulItem) String() string {
  70304. return awsutil.Prettify(s)
  70305. }
  70306. // GoString returns the string representation
  70307. func (s UnsuccessfulItem) GoString() string {
  70308. return s.String()
  70309. }
  70310. // SetError sets the Error field's value.
  70311. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  70312. s.Error = v
  70313. return s
  70314. }
  70315. // SetResourceId sets the ResourceId field's value.
  70316. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  70317. s.ResourceId = &v
  70318. return s
  70319. }
  70320. // Information about the error that occurred. For more information about errors,
  70321. // see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  70322. type UnsuccessfulItemError struct {
  70323. _ struct{} `type:"structure"`
  70324. // The error code.
  70325. Code *string `locationName:"code" type:"string"`
  70326. // The error message accompanying the error code.
  70327. Message *string `locationName:"message" type:"string"`
  70328. }
  70329. // String returns the string representation
  70330. func (s UnsuccessfulItemError) String() string {
  70331. return awsutil.Prettify(s)
  70332. }
  70333. // GoString returns the string representation
  70334. func (s UnsuccessfulItemError) GoString() string {
  70335. return s.String()
  70336. }
  70337. // SetCode sets the Code field's value.
  70338. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  70339. s.Code = &v
  70340. return s
  70341. }
  70342. // SetMessage sets the Message field's value.
  70343. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  70344. s.Message = &v
  70345. return s
  70346. }
  70347. type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
  70348. _ struct{} `type:"structure"`
  70349. // Checks whether you have the required permissions for the action, without
  70350. // actually making the request, and provides an error response. If you have
  70351. // the required permissions, the error response is DryRunOperation. Otherwise,
  70352. // it is UnauthorizedOperation.
  70353. DryRun *bool `type:"boolean"`
  70354. // The ID of the security group. You must specify either the security group
  70355. // ID or the security group name in the request. For security groups in a nondefault
  70356. // VPC, you must specify the security group ID.
  70357. GroupId *string `type:"string"`
  70358. // [Default VPC] The name of the security group. You must specify either the
  70359. // security group ID or the security group name in the request.
  70360. GroupName *string `type:"string"`
  70361. // The IP permissions for the security group rule.
  70362. //
  70363. // IpPermissions is a required field
  70364. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  70365. }
  70366. // String returns the string representation
  70367. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
  70368. return awsutil.Prettify(s)
  70369. }
  70370. // GoString returns the string representation
  70371. func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
  70372. return s.String()
  70373. }
  70374. // Validate inspects the fields of the type to determine if they are valid.
  70375. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
  70376. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
  70377. if s.IpPermissions == nil {
  70378. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  70379. }
  70380. if invalidParams.Len() > 0 {
  70381. return invalidParams
  70382. }
  70383. return nil
  70384. }
  70385. // SetDryRun sets the DryRun field's value.
  70386. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  70387. s.DryRun = &v
  70388. return s
  70389. }
  70390. // SetGroupId sets the GroupId field's value.
  70391. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  70392. s.GroupId = &v
  70393. return s
  70394. }
  70395. // SetGroupName sets the GroupName field's value.
  70396. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  70397. s.GroupName = &v
  70398. return s
  70399. }
  70400. // SetIpPermissions sets the IpPermissions field's value.
  70401. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
  70402. s.IpPermissions = v
  70403. return s
  70404. }
  70405. type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
  70406. _ struct{} `type:"structure"`
  70407. // Returns true if the request succeeds; otherwise, returns an error.
  70408. Return *bool `locationName:"return" type:"boolean"`
  70409. }
  70410. // String returns the string representation
  70411. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
  70412. return awsutil.Prettify(s)
  70413. }
  70414. // GoString returns the string representation
  70415. func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
  70416. return s.String()
  70417. }
  70418. // SetReturn sets the Return field's value.
  70419. func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
  70420. s.Return = &v
  70421. return s
  70422. }
  70423. type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
  70424. _ struct{} `type:"structure"`
  70425. // Checks whether you have the required permissions for the action, without
  70426. // actually making the request, and provides an error response. If you have
  70427. // the required permissions, the error response is DryRunOperation. Otherwise,
  70428. // it is UnauthorizedOperation.
  70429. DryRun *bool `type:"boolean"`
  70430. // The ID of the security group. You must specify either the security group
  70431. // ID or the security group name in the request. For security groups in a nondefault
  70432. // VPC, you must specify the security group ID.
  70433. GroupId *string `type:"string"`
  70434. // [EC2-Classic, default VPC] The name of the security group. You must specify
  70435. // either the security group ID or the security group name in the request.
  70436. GroupName *string `type:"string"`
  70437. // The IP permissions for the security group rule.
  70438. //
  70439. // IpPermissions is a required field
  70440. IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
  70441. }
  70442. // String returns the string representation
  70443. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
  70444. return awsutil.Prettify(s)
  70445. }
  70446. // GoString returns the string representation
  70447. func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
  70448. return s.String()
  70449. }
  70450. // Validate inspects the fields of the type to determine if they are valid.
  70451. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
  70452. invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
  70453. if s.IpPermissions == nil {
  70454. invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
  70455. }
  70456. if invalidParams.Len() > 0 {
  70457. return invalidParams
  70458. }
  70459. return nil
  70460. }
  70461. // SetDryRun sets the DryRun field's value.
  70462. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  70463. s.DryRun = &v
  70464. return s
  70465. }
  70466. // SetGroupId sets the GroupId field's value.
  70467. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  70468. s.GroupId = &v
  70469. return s
  70470. }
  70471. // SetGroupName sets the GroupName field's value.
  70472. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  70473. s.GroupName = &v
  70474. return s
  70475. }
  70476. // SetIpPermissions sets the IpPermissions field's value.
  70477. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
  70478. s.IpPermissions = v
  70479. return s
  70480. }
  70481. type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
  70482. _ struct{} `type:"structure"`
  70483. // Returns true if the request succeeds; otherwise, returns an error.
  70484. Return *bool `locationName:"return" type:"boolean"`
  70485. }
  70486. // String returns the string representation
  70487. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
  70488. return awsutil.Prettify(s)
  70489. }
  70490. // GoString returns the string representation
  70491. func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
  70492. return s.String()
  70493. }
  70494. // SetReturn sets the Return field's value.
  70495. func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
  70496. s.Return = &v
  70497. return s
  70498. }
  70499. // Describes the S3 bucket for the disk image.
  70500. type UserBucket struct {
  70501. _ struct{} `type:"structure"`
  70502. // The name of the S3 bucket where the disk image is located.
  70503. S3Bucket *string `type:"string"`
  70504. // The file name of the disk image.
  70505. S3Key *string `type:"string"`
  70506. }
  70507. // String returns the string representation
  70508. func (s UserBucket) String() string {
  70509. return awsutil.Prettify(s)
  70510. }
  70511. // GoString returns the string representation
  70512. func (s UserBucket) GoString() string {
  70513. return s.String()
  70514. }
  70515. // SetS3Bucket sets the S3Bucket field's value.
  70516. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  70517. s.S3Bucket = &v
  70518. return s
  70519. }
  70520. // SetS3Key sets the S3Key field's value.
  70521. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  70522. s.S3Key = &v
  70523. return s
  70524. }
  70525. // Describes the S3 bucket for the disk image.
  70526. type UserBucketDetails struct {
  70527. _ struct{} `type:"structure"`
  70528. // The S3 bucket from which the disk image was created.
  70529. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  70530. // The file name of the disk image.
  70531. S3Key *string `locationName:"s3Key" type:"string"`
  70532. }
  70533. // String returns the string representation
  70534. func (s UserBucketDetails) String() string {
  70535. return awsutil.Prettify(s)
  70536. }
  70537. // GoString returns the string representation
  70538. func (s UserBucketDetails) GoString() string {
  70539. return s.String()
  70540. }
  70541. // SetS3Bucket sets the S3Bucket field's value.
  70542. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  70543. s.S3Bucket = &v
  70544. return s
  70545. }
  70546. // SetS3Key sets the S3Key field's value.
  70547. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  70548. s.S3Key = &v
  70549. return s
  70550. }
  70551. // Describes the user data for an instance.
  70552. type UserData struct {
  70553. _ struct{} `type:"structure"`
  70554. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  70555. // is performed for you, and you can load the text from a file. Otherwise, you
  70556. // must provide Base64-encoded text.
  70557. Data *string `locationName:"data" type:"string"`
  70558. }
  70559. // String returns the string representation
  70560. func (s UserData) String() string {
  70561. return awsutil.Prettify(s)
  70562. }
  70563. // GoString returns the string representation
  70564. func (s UserData) GoString() string {
  70565. return s.String()
  70566. }
  70567. // SetData sets the Data field's value.
  70568. func (s *UserData) SetData(v string) *UserData {
  70569. s.Data = &v
  70570. return s
  70571. }
  70572. // Describes a security group and AWS account ID pair.
  70573. type UserIdGroupPair struct {
  70574. _ struct{} `type:"structure"`
  70575. // A description for the security group rule that references this user ID group
  70576. // pair.
  70577. //
  70578. // Constraints: Up to 255 characters in length. Allowed characters are a-z,
  70579. // A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
  70580. Description *string `locationName:"description" type:"string"`
  70581. // The ID of the security group.
  70582. GroupId *string `locationName:"groupId" type:"string"`
  70583. // The name of the security group. In a request, use this parameter for a security
  70584. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  70585. // VPC, use the security group ID.
  70586. //
  70587. // For a referenced security group in another VPC, this value is not returned
  70588. // if the referenced security group is deleted.
  70589. GroupName *string `locationName:"groupName" type:"string"`
  70590. // The status of a VPC peering connection, if applicable.
  70591. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  70592. // The ID of an AWS account.
  70593. //
  70594. // For a referenced security group in another VPC, the account ID of the referenced
  70595. // security group is returned in the response. If the referenced security group
  70596. // is deleted, this value is not returned.
  70597. //
  70598. // [EC2-Classic] Required when adding or removing rules that reference a security
  70599. // group in another AWS account.
  70600. UserId *string `locationName:"userId" type:"string"`
  70601. // The ID of the VPC for the referenced security group, if applicable.
  70602. VpcId *string `locationName:"vpcId" type:"string"`
  70603. // The ID of the VPC peering connection, if applicable.
  70604. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  70605. }
  70606. // String returns the string representation
  70607. func (s UserIdGroupPair) String() string {
  70608. return awsutil.Prettify(s)
  70609. }
  70610. // GoString returns the string representation
  70611. func (s UserIdGroupPair) GoString() string {
  70612. return s.String()
  70613. }
  70614. // SetDescription sets the Description field's value.
  70615. func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
  70616. s.Description = &v
  70617. return s
  70618. }
  70619. // SetGroupId sets the GroupId field's value.
  70620. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  70621. s.GroupId = &v
  70622. return s
  70623. }
  70624. // SetGroupName sets the GroupName field's value.
  70625. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  70626. s.GroupName = &v
  70627. return s
  70628. }
  70629. // SetPeeringStatus sets the PeeringStatus field's value.
  70630. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  70631. s.PeeringStatus = &v
  70632. return s
  70633. }
  70634. // SetUserId sets the UserId field's value.
  70635. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  70636. s.UserId = &v
  70637. return s
  70638. }
  70639. // SetVpcId sets the VpcId field's value.
  70640. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  70641. s.VpcId = &v
  70642. return s
  70643. }
  70644. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  70645. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  70646. s.VpcPeeringConnectionId = &v
  70647. return s
  70648. }
  70649. // Describes telemetry for a VPN tunnel.
  70650. type VgwTelemetry struct {
  70651. _ struct{} `type:"structure"`
  70652. // The number of accepted routes.
  70653. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  70654. // The date and time of the last change in status.
  70655. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
  70656. // The Internet-routable IP address of the virtual private gateway's outside
  70657. // interface.
  70658. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  70659. // The status of the VPN tunnel.
  70660. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  70661. // If an error occurs, a description of the error.
  70662. StatusMessage *string `locationName:"statusMessage" type:"string"`
  70663. }
  70664. // String returns the string representation
  70665. func (s VgwTelemetry) String() string {
  70666. return awsutil.Prettify(s)
  70667. }
  70668. // GoString returns the string representation
  70669. func (s VgwTelemetry) GoString() string {
  70670. return s.String()
  70671. }
  70672. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  70673. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  70674. s.AcceptedRouteCount = &v
  70675. return s
  70676. }
  70677. // SetLastStatusChange sets the LastStatusChange field's value.
  70678. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  70679. s.LastStatusChange = &v
  70680. return s
  70681. }
  70682. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  70683. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  70684. s.OutsideIpAddress = &v
  70685. return s
  70686. }
  70687. // SetStatus sets the Status field's value.
  70688. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  70689. s.Status = &v
  70690. return s
  70691. }
  70692. // SetStatusMessage sets the StatusMessage field's value.
  70693. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  70694. s.StatusMessage = &v
  70695. return s
  70696. }
  70697. // Describes a volume.
  70698. type Volume struct {
  70699. _ struct{} `type:"structure"`
  70700. // Information about the volume attachments.
  70701. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  70702. // The Availability Zone for the volume.
  70703. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  70704. // The time stamp when volume creation was initiated.
  70705. CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
  70706. // Indicates whether the volume will be encrypted.
  70707. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  70708. // The number of I/O operations per second (IOPS) that the volume supports.
  70709. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  70710. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  70711. // the baseline performance of the volume and the rate at which the volume accumulates
  70712. // I/O credits for bursting. For more information, see Amazon EBS Volume Types
  70713. // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  70714. // in the Amazon Elastic Compute Cloud User Guide.
  70715. //
  70716. // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
  70717. // for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
  70718. // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
  70719. // Other instance families guarantee performance up to 32,000 IOPS.
  70720. //
  70721. // Condition: This parameter is required for requests to create io1 volumes;
  70722. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  70723. Iops *int64 `locationName:"iops" type:"integer"`
  70724. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  70725. // key (CMK) that was used to protect the volume encryption key for the volume.
  70726. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  70727. // The size of the volume, in GiBs.
  70728. Size *int64 `locationName:"size" type:"integer"`
  70729. // The snapshot from which the volume was created, if applicable.
  70730. SnapshotId *string `locationName:"snapshotId" type:"string"`
  70731. // The volume state.
  70732. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  70733. // Any tags assigned to the volume.
  70734. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  70735. // The ID of the volume.
  70736. VolumeId *string `locationName:"volumeId" type:"string"`
  70737. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  70738. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  70739. // for Magnetic volumes.
  70740. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  70741. }
  70742. // String returns the string representation
  70743. func (s Volume) String() string {
  70744. return awsutil.Prettify(s)
  70745. }
  70746. // GoString returns the string representation
  70747. func (s Volume) GoString() string {
  70748. return s.String()
  70749. }
  70750. // SetAttachments sets the Attachments field's value.
  70751. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  70752. s.Attachments = v
  70753. return s
  70754. }
  70755. // SetAvailabilityZone sets the AvailabilityZone field's value.
  70756. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  70757. s.AvailabilityZone = &v
  70758. return s
  70759. }
  70760. // SetCreateTime sets the CreateTime field's value.
  70761. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  70762. s.CreateTime = &v
  70763. return s
  70764. }
  70765. // SetEncrypted sets the Encrypted field's value.
  70766. func (s *Volume) SetEncrypted(v bool) *Volume {
  70767. s.Encrypted = &v
  70768. return s
  70769. }
  70770. // SetIops sets the Iops field's value.
  70771. func (s *Volume) SetIops(v int64) *Volume {
  70772. s.Iops = &v
  70773. return s
  70774. }
  70775. // SetKmsKeyId sets the KmsKeyId field's value.
  70776. func (s *Volume) SetKmsKeyId(v string) *Volume {
  70777. s.KmsKeyId = &v
  70778. return s
  70779. }
  70780. // SetSize sets the Size field's value.
  70781. func (s *Volume) SetSize(v int64) *Volume {
  70782. s.Size = &v
  70783. return s
  70784. }
  70785. // SetSnapshotId sets the SnapshotId field's value.
  70786. func (s *Volume) SetSnapshotId(v string) *Volume {
  70787. s.SnapshotId = &v
  70788. return s
  70789. }
  70790. // SetState sets the State field's value.
  70791. func (s *Volume) SetState(v string) *Volume {
  70792. s.State = &v
  70793. return s
  70794. }
  70795. // SetTags sets the Tags field's value.
  70796. func (s *Volume) SetTags(v []*Tag) *Volume {
  70797. s.Tags = v
  70798. return s
  70799. }
  70800. // SetVolumeId sets the VolumeId field's value.
  70801. func (s *Volume) SetVolumeId(v string) *Volume {
  70802. s.VolumeId = &v
  70803. return s
  70804. }
  70805. // SetVolumeType sets the VolumeType field's value.
  70806. func (s *Volume) SetVolumeType(v string) *Volume {
  70807. s.VolumeType = &v
  70808. return s
  70809. }
  70810. // Describes volume attachment details.
  70811. type VolumeAttachment struct {
  70812. _ struct{} `type:"structure"`
  70813. // The time stamp when the attachment initiated.
  70814. AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
  70815. // Indicates whether the EBS volume is deleted on instance termination.
  70816. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  70817. // The device name.
  70818. Device *string `locationName:"device" type:"string"`
  70819. // The ID of the instance.
  70820. InstanceId *string `locationName:"instanceId" type:"string"`
  70821. // The attachment state of the volume.
  70822. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  70823. // The ID of the volume.
  70824. VolumeId *string `locationName:"volumeId" type:"string"`
  70825. }
  70826. // String returns the string representation
  70827. func (s VolumeAttachment) String() string {
  70828. return awsutil.Prettify(s)
  70829. }
  70830. // GoString returns the string representation
  70831. func (s VolumeAttachment) GoString() string {
  70832. return s.String()
  70833. }
  70834. // SetAttachTime sets the AttachTime field's value.
  70835. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  70836. s.AttachTime = &v
  70837. return s
  70838. }
  70839. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  70840. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  70841. s.DeleteOnTermination = &v
  70842. return s
  70843. }
  70844. // SetDevice sets the Device field's value.
  70845. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  70846. s.Device = &v
  70847. return s
  70848. }
  70849. // SetInstanceId sets the InstanceId field's value.
  70850. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  70851. s.InstanceId = &v
  70852. return s
  70853. }
  70854. // SetState sets the State field's value.
  70855. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  70856. s.State = &v
  70857. return s
  70858. }
  70859. // SetVolumeId sets the VolumeId field's value.
  70860. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  70861. s.VolumeId = &v
  70862. return s
  70863. }
  70864. // Describes an EBS volume.
  70865. type VolumeDetail struct {
  70866. _ struct{} `type:"structure"`
  70867. // The size of the volume, in GiB.
  70868. //
  70869. // Size is a required field
  70870. Size *int64 `locationName:"size" type:"long" required:"true"`
  70871. }
  70872. // String returns the string representation
  70873. func (s VolumeDetail) String() string {
  70874. return awsutil.Prettify(s)
  70875. }
  70876. // GoString returns the string representation
  70877. func (s VolumeDetail) GoString() string {
  70878. return s.String()
  70879. }
  70880. // Validate inspects the fields of the type to determine if they are valid.
  70881. func (s *VolumeDetail) Validate() error {
  70882. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  70883. if s.Size == nil {
  70884. invalidParams.Add(request.NewErrParamRequired("Size"))
  70885. }
  70886. if invalidParams.Len() > 0 {
  70887. return invalidParams
  70888. }
  70889. return nil
  70890. }
  70891. // SetSize sets the Size field's value.
  70892. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  70893. s.Size = &v
  70894. return s
  70895. }
  70896. // Describes the modification status of an EBS volume.
  70897. //
  70898. // If the volume has never been modified, some element values will be null.
  70899. type VolumeModification struct {
  70900. _ struct{} `type:"structure"`
  70901. // The modification completion or failure time.
  70902. EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  70903. // The current modification state. The modification state is null for unmodified
  70904. // volumes.
  70905. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  70906. // The original IOPS rate of the volume.
  70907. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  70908. // The original size of the volume.
  70909. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  70910. // The original EBS volume type of the volume.
  70911. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  70912. // The modification progress, from 0 to 100 percent complete.
  70913. Progress *int64 `locationName:"progress" type:"long"`
  70914. // The modification start time.
  70915. StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  70916. // A status message about the modification progress or failure.
  70917. StatusMessage *string `locationName:"statusMessage" type:"string"`
  70918. // The target IOPS rate of the volume.
  70919. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  70920. // The target size of the volume, in GiB.
  70921. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  70922. // The target EBS volume type of the volume.
  70923. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  70924. // The ID of the volume.
  70925. VolumeId *string `locationName:"volumeId" type:"string"`
  70926. }
  70927. // String returns the string representation
  70928. func (s VolumeModification) String() string {
  70929. return awsutil.Prettify(s)
  70930. }
  70931. // GoString returns the string representation
  70932. func (s VolumeModification) GoString() string {
  70933. return s.String()
  70934. }
  70935. // SetEndTime sets the EndTime field's value.
  70936. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  70937. s.EndTime = &v
  70938. return s
  70939. }
  70940. // SetModificationState sets the ModificationState field's value.
  70941. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  70942. s.ModificationState = &v
  70943. return s
  70944. }
  70945. // SetOriginalIops sets the OriginalIops field's value.
  70946. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  70947. s.OriginalIops = &v
  70948. return s
  70949. }
  70950. // SetOriginalSize sets the OriginalSize field's value.
  70951. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  70952. s.OriginalSize = &v
  70953. return s
  70954. }
  70955. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  70956. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  70957. s.OriginalVolumeType = &v
  70958. return s
  70959. }
  70960. // SetProgress sets the Progress field's value.
  70961. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  70962. s.Progress = &v
  70963. return s
  70964. }
  70965. // SetStartTime sets the StartTime field's value.
  70966. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  70967. s.StartTime = &v
  70968. return s
  70969. }
  70970. // SetStatusMessage sets the StatusMessage field's value.
  70971. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  70972. s.StatusMessage = &v
  70973. return s
  70974. }
  70975. // SetTargetIops sets the TargetIops field's value.
  70976. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  70977. s.TargetIops = &v
  70978. return s
  70979. }
  70980. // SetTargetSize sets the TargetSize field's value.
  70981. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  70982. s.TargetSize = &v
  70983. return s
  70984. }
  70985. // SetTargetVolumeType sets the TargetVolumeType field's value.
  70986. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  70987. s.TargetVolumeType = &v
  70988. return s
  70989. }
  70990. // SetVolumeId sets the VolumeId field's value.
  70991. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  70992. s.VolumeId = &v
  70993. return s
  70994. }
  70995. // Describes a volume status operation code.
  70996. type VolumeStatusAction struct {
  70997. _ struct{} `type:"structure"`
  70998. // The code identifying the operation, for example, enable-volume-io.
  70999. Code *string `locationName:"code" type:"string"`
  71000. // A description of the operation.
  71001. Description *string `locationName:"description" type:"string"`
  71002. // The ID of the event associated with this operation.
  71003. EventId *string `locationName:"eventId" type:"string"`
  71004. // The event type associated with this operation.
  71005. EventType *string `locationName:"eventType" type:"string"`
  71006. }
  71007. // String returns the string representation
  71008. func (s VolumeStatusAction) String() string {
  71009. return awsutil.Prettify(s)
  71010. }
  71011. // GoString returns the string representation
  71012. func (s VolumeStatusAction) GoString() string {
  71013. return s.String()
  71014. }
  71015. // SetCode sets the Code field's value.
  71016. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  71017. s.Code = &v
  71018. return s
  71019. }
  71020. // SetDescription sets the Description field's value.
  71021. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  71022. s.Description = &v
  71023. return s
  71024. }
  71025. // SetEventId sets the EventId field's value.
  71026. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  71027. s.EventId = &v
  71028. return s
  71029. }
  71030. // SetEventType sets the EventType field's value.
  71031. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  71032. s.EventType = &v
  71033. return s
  71034. }
  71035. // Describes a volume status.
  71036. type VolumeStatusDetails struct {
  71037. _ struct{} `type:"structure"`
  71038. // The name of the volume status.
  71039. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  71040. // The intended status of the volume status.
  71041. Status *string `locationName:"status" type:"string"`
  71042. }
  71043. // String returns the string representation
  71044. func (s VolumeStatusDetails) String() string {
  71045. return awsutil.Prettify(s)
  71046. }
  71047. // GoString returns the string representation
  71048. func (s VolumeStatusDetails) GoString() string {
  71049. return s.String()
  71050. }
  71051. // SetName sets the Name field's value.
  71052. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  71053. s.Name = &v
  71054. return s
  71055. }
  71056. // SetStatus sets the Status field's value.
  71057. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  71058. s.Status = &v
  71059. return s
  71060. }
  71061. // Describes a volume status event.
  71062. type VolumeStatusEvent struct {
  71063. _ struct{} `type:"structure"`
  71064. // A description of the event.
  71065. Description *string `locationName:"description" type:"string"`
  71066. // The ID of this event.
  71067. EventId *string `locationName:"eventId" type:"string"`
  71068. // The type of this event.
  71069. EventType *string `locationName:"eventType" type:"string"`
  71070. // The latest end time of the event.
  71071. NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
  71072. // The earliest start time of the event.
  71073. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
  71074. }
  71075. // String returns the string representation
  71076. func (s VolumeStatusEvent) String() string {
  71077. return awsutil.Prettify(s)
  71078. }
  71079. // GoString returns the string representation
  71080. func (s VolumeStatusEvent) GoString() string {
  71081. return s.String()
  71082. }
  71083. // SetDescription sets the Description field's value.
  71084. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  71085. s.Description = &v
  71086. return s
  71087. }
  71088. // SetEventId sets the EventId field's value.
  71089. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  71090. s.EventId = &v
  71091. return s
  71092. }
  71093. // SetEventType sets the EventType field's value.
  71094. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  71095. s.EventType = &v
  71096. return s
  71097. }
  71098. // SetNotAfter sets the NotAfter field's value.
  71099. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  71100. s.NotAfter = &v
  71101. return s
  71102. }
  71103. // SetNotBefore sets the NotBefore field's value.
  71104. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  71105. s.NotBefore = &v
  71106. return s
  71107. }
  71108. // Describes the status of a volume.
  71109. type VolumeStatusInfo struct {
  71110. _ struct{} `type:"structure"`
  71111. // The details of the volume status.
  71112. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  71113. // The status of the volume.
  71114. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  71115. }
  71116. // String returns the string representation
  71117. func (s VolumeStatusInfo) String() string {
  71118. return awsutil.Prettify(s)
  71119. }
  71120. // GoString returns the string representation
  71121. func (s VolumeStatusInfo) GoString() string {
  71122. return s.String()
  71123. }
  71124. // SetDetails sets the Details field's value.
  71125. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  71126. s.Details = v
  71127. return s
  71128. }
  71129. // SetStatus sets the Status field's value.
  71130. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  71131. s.Status = &v
  71132. return s
  71133. }
  71134. // Describes the volume status.
  71135. type VolumeStatusItem struct {
  71136. _ struct{} `type:"structure"`
  71137. // The details of the operation.
  71138. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  71139. // The Availability Zone of the volume.
  71140. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  71141. // A list of events associated with the volume.
  71142. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  71143. // The volume ID.
  71144. VolumeId *string `locationName:"volumeId" type:"string"`
  71145. // The volume status.
  71146. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  71147. }
  71148. // String returns the string representation
  71149. func (s VolumeStatusItem) String() string {
  71150. return awsutil.Prettify(s)
  71151. }
  71152. // GoString returns the string representation
  71153. func (s VolumeStatusItem) GoString() string {
  71154. return s.String()
  71155. }
  71156. // SetActions sets the Actions field's value.
  71157. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  71158. s.Actions = v
  71159. return s
  71160. }
  71161. // SetAvailabilityZone sets the AvailabilityZone field's value.
  71162. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  71163. s.AvailabilityZone = &v
  71164. return s
  71165. }
  71166. // SetEvents sets the Events field's value.
  71167. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  71168. s.Events = v
  71169. return s
  71170. }
  71171. // SetVolumeId sets the VolumeId field's value.
  71172. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  71173. s.VolumeId = &v
  71174. return s
  71175. }
  71176. // SetVolumeStatus sets the VolumeStatus field's value.
  71177. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  71178. s.VolumeStatus = v
  71179. return s
  71180. }
  71181. // Describes a VPC.
  71182. type Vpc struct {
  71183. _ struct{} `type:"structure"`
  71184. // The primary IPv4 CIDR block for the VPC.
  71185. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  71186. // Information about the IPv4 CIDR blocks associated with the VPC.
  71187. CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
  71188. // The ID of the set of DHCP options you've associated with the VPC (or default
  71189. // if the default options are associated with the VPC).
  71190. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  71191. // The allowed tenancy of instances launched into the VPC.
  71192. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  71193. // Information about the IPv6 CIDR blocks associated with the VPC.
  71194. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  71195. // Indicates whether the VPC is the default VPC.
  71196. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  71197. // The ID of the AWS account that owns the VPC.
  71198. OwnerId *string `locationName:"ownerId" type:"string"`
  71199. // The current state of the VPC.
  71200. State *string `locationName:"state" type:"string" enum:"VpcState"`
  71201. // Any tags assigned to the VPC.
  71202. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71203. // The ID of the VPC.
  71204. VpcId *string `locationName:"vpcId" type:"string"`
  71205. }
  71206. // String returns the string representation
  71207. func (s Vpc) String() string {
  71208. return awsutil.Prettify(s)
  71209. }
  71210. // GoString returns the string representation
  71211. func (s Vpc) GoString() string {
  71212. return s.String()
  71213. }
  71214. // SetCidrBlock sets the CidrBlock field's value.
  71215. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  71216. s.CidrBlock = &v
  71217. return s
  71218. }
  71219. // SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
  71220. func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
  71221. s.CidrBlockAssociationSet = v
  71222. return s
  71223. }
  71224. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  71225. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  71226. s.DhcpOptionsId = &v
  71227. return s
  71228. }
  71229. // SetInstanceTenancy sets the InstanceTenancy field's value.
  71230. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  71231. s.InstanceTenancy = &v
  71232. return s
  71233. }
  71234. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  71235. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  71236. s.Ipv6CidrBlockAssociationSet = v
  71237. return s
  71238. }
  71239. // SetIsDefault sets the IsDefault field's value.
  71240. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  71241. s.IsDefault = &v
  71242. return s
  71243. }
  71244. // SetOwnerId sets the OwnerId field's value.
  71245. func (s *Vpc) SetOwnerId(v string) *Vpc {
  71246. s.OwnerId = &v
  71247. return s
  71248. }
  71249. // SetState sets the State field's value.
  71250. func (s *Vpc) SetState(v string) *Vpc {
  71251. s.State = &v
  71252. return s
  71253. }
  71254. // SetTags sets the Tags field's value.
  71255. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  71256. s.Tags = v
  71257. return s
  71258. }
  71259. // SetVpcId sets the VpcId field's value.
  71260. func (s *Vpc) SetVpcId(v string) *Vpc {
  71261. s.VpcId = &v
  71262. return s
  71263. }
  71264. // Describes an attachment between a virtual private gateway and a VPC.
  71265. type VpcAttachment struct {
  71266. _ struct{} `type:"structure"`
  71267. // The current state of the attachment.
  71268. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  71269. // The ID of the VPC.
  71270. VpcId *string `locationName:"vpcId" type:"string"`
  71271. }
  71272. // String returns the string representation
  71273. func (s VpcAttachment) String() string {
  71274. return awsutil.Prettify(s)
  71275. }
  71276. // GoString returns the string representation
  71277. func (s VpcAttachment) GoString() string {
  71278. return s.String()
  71279. }
  71280. // SetState sets the State field's value.
  71281. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  71282. s.State = &v
  71283. return s
  71284. }
  71285. // SetVpcId sets the VpcId field's value.
  71286. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  71287. s.VpcId = &v
  71288. return s
  71289. }
  71290. // Describes an IPv4 CIDR block associated with a VPC.
  71291. type VpcCidrBlockAssociation struct {
  71292. _ struct{} `type:"structure"`
  71293. // The association ID for the IPv4 CIDR block.
  71294. AssociationId *string `locationName:"associationId" type:"string"`
  71295. // The IPv4 CIDR block.
  71296. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  71297. // Information about the state of the CIDR block.
  71298. CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
  71299. }
  71300. // String returns the string representation
  71301. func (s VpcCidrBlockAssociation) String() string {
  71302. return awsutil.Prettify(s)
  71303. }
  71304. // GoString returns the string representation
  71305. func (s VpcCidrBlockAssociation) GoString() string {
  71306. return s.String()
  71307. }
  71308. // SetAssociationId sets the AssociationId field's value.
  71309. func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
  71310. s.AssociationId = &v
  71311. return s
  71312. }
  71313. // SetCidrBlock sets the CidrBlock field's value.
  71314. func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
  71315. s.CidrBlock = &v
  71316. return s
  71317. }
  71318. // SetCidrBlockState sets the CidrBlockState field's value.
  71319. func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
  71320. s.CidrBlockState = v
  71321. return s
  71322. }
  71323. // Describes the state of a CIDR block.
  71324. type VpcCidrBlockState struct {
  71325. _ struct{} `type:"structure"`
  71326. // The state of the CIDR block.
  71327. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  71328. // A message about the status of the CIDR block, if applicable.
  71329. StatusMessage *string `locationName:"statusMessage" type:"string"`
  71330. }
  71331. // String returns the string representation
  71332. func (s VpcCidrBlockState) String() string {
  71333. return awsutil.Prettify(s)
  71334. }
  71335. // GoString returns the string representation
  71336. func (s VpcCidrBlockState) GoString() string {
  71337. return s.String()
  71338. }
  71339. // SetState sets the State field's value.
  71340. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  71341. s.State = &v
  71342. return s
  71343. }
  71344. // SetStatusMessage sets the StatusMessage field's value.
  71345. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  71346. s.StatusMessage = &v
  71347. return s
  71348. }
  71349. // Describes whether a VPC is enabled for ClassicLink.
  71350. type VpcClassicLink struct {
  71351. _ struct{} `type:"structure"`
  71352. // Indicates whether the VPC is enabled for ClassicLink.
  71353. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  71354. // Any tags assigned to the VPC.
  71355. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71356. // The ID of the VPC.
  71357. VpcId *string `locationName:"vpcId" type:"string"`
  71358. }
  71359. // String returns the string representation
  71360. func (s VpcClassicLink) String() string {
  71361. return awsutil.Prettify(s)
  71362. }
  71363. // GoString returns the string representation
  71364. func (s VpcClassicLink) GoString() string {
  71365. return s.String()
  71366. }
  71367. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  71368. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  71369. s.ClassicLinkEnabled = &v
  71370. return s
  71371. }
  71372. // SetTags sets the Tags field's value.
  71373. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  71374. s.Tags = v
  71375. return s
  71376. }
  71377. // SetVpcId sets the VpcId field's value.
  71378. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  71379. s.VpcId = &v
  71380. return s
  71381. }
  71382. // Describes a VPC endpoint.
  71383. type VpcEndpoint struct {
  71384. _ struct{} `type:"structure"`
  71385. // The date and time the VPC endpoint was created.
  71386. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
  71387. // (Interface endpoint) The DNS entries for the endpoint.
  71388. DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
  71389. // (Interface endpoint) Information about the security groups associated with
  71390. // the network interface.
  71391. Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  71392. // (Interface endpoint) One or more network interfaces for the endpoint.
  71393. NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
  71394. // The policy document associated with the endpoint, if applicable.
  71395. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  71396. // (Interface endpoint) Indicates whether the VPC is associated with a private
  71397. // hosted zone.
  71398. PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
  71399. // (Gateway endpoint) One or more route tables associated with the endpoint.
  71400. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  71401. // The name of the service to which the endpoint is associated.
  71402. ServiceName *string `locationName:"serviceName" type:"string"`
  71403. // The state of the VPC endpoint.
  71404. State *string `locationName:"state" type:"string" enum:"State"`
  71405. // (Interface endpoint) One or more subnets in which the endpoint is located.
  71406. SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
  71407. // The ID of the VPC endpoint.
  71408. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  71409. // The type of endpoint.
  71410. VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
  71411. // The ID of the VPC to which the endpoint is associated.
  71412. VpcId *string `locationName:"vpcId" type:"string"`
  71413. }
  71414. // String returns the string representation
  71415. func (s VpcEndpoint) String() string {
  71416. return awsutil.Prettify(s)
  71417. }
  71418. // GoString returns the string representation
  71419. func (s VpcEndpoint) GoString() string {
  71420. return s.String()
  71421. }
  71422. // SetCreationTimestamp sets the CreationTimestamp field's value.
  71423. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  71424. s.CreationTimestamp = &v
  71425. return s
  71426. }
  71427. // SetDnsEntries sets the DnsEntries field's value.
  71428. func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
  71429. s.DnsEntries = v
  71430. return s
  71431. }
  71432. // SetGroups sets the Groups field's value.
  71433. func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
  71434. s.Groups = v
  71435. return s
  71436. }
  71437. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  71438. func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
  71439. s.NetworkInterfaceIds = v
  71440. return s
  71441. }
  71442. // SetPolicyDocument sets the PolicyDocument field's value.
  71443. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  71444. s.PolicyDocument = &v
  71445. return s
  71446. }
  71447. // SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
  71448. func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
  71449. s.PrivateDnsEnabled = &v
  71450. return s
  71451. }
  71452. // SetRouteTableIds sets the RouteTableIds field's value.
  71453. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  71454. s.RouteTableIds = v
  71455. return s
  71456. }
  71457. // SetServiceName sets the ServiceName field's value.
  71458. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  71459. s.ServiceName = &v
  71460. return s
  71461. }
  71462. // SetState sets the State field's value.
  71463. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  71464. s.State = &v
  71465. return s
  71466. }
  71467. // SetSubnetIds sets the SubnetIds field's value.
  71468. func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
  71469. s.SubnetIds = v
  71470. return s
  71471. }
  71472. // SetVpcEndpointId sets the VpcEndpointId field's value.
  71473. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  71474. s.VpcEndpointId = &v
  71475. return s
  71476. }
  71477. // SetVpcEndpointType sets the VpcEndpointType field's value.
  71478. func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
  71479. s.VpcEndpointType = &v
  71480. return s
  71481. }
  71482. // SetVpcId sets the VpcId field's value.
  71483. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  71484. s.VpcId = &v
  71485. return s
  71486. }
  71487. // Describes a VPC endpoint connection to a service.
  71488. type VpcEndpointConnection struct {
  71489. _ struct{} `type:"structure"`
  71490. // The date and time the VPC endpoint was created.
  71491. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
  71492. // The ID of the service to which the endpoint is connected.
  71493. ServiceId *string `locationName:"serviceId" type:"string"`
  71494. // The ID of the VPC endpoint.
  71495. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  71496. // The AWS account ID of the owner of the VPC endpoint.
  71497. VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
  71498. // The state of the VPC endpoint.
  71499. VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
  71500. }
  71501. // String returns the string representation
  71502. func (s VpcEndpointConnection) String() string {
  71503. return awsutil.Prettify(s)
  71504. }
  71505. // GoString returns the string representation
  71506. func (s VpcEndpointConnection) GoString() string {
  71507. return s.String()
  71508. }
  71509. // SetCreationTimestamp sets the CreationTimestamp field's value.
  71510. func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
  71511. s.CreationTimestamp = &v
  71512. return s
  71513. }
  71514. // SetServiceId sets the ServiceId field's value.
  71515. func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
  71516. s.ServiceId = &v
  71517. return s
  71518. }
  71519. // SetVpcEndpointId sets the VpcEndpointId field's value.
  71520. func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
  71521. s.VpcEndpointId = &v
  71522. return s
  71523. }
  71524. // SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
  71525. func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
  71526. s.VpcEndpointOwner = &v
  71527. return s
  71528. }
  71529. // SetVpcEndpointState sets the VpcEndpointState field's value.
  71530. func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
  71531. s.VpcEndpointState = &v
  71532. return s
  71533. }
  71534. // Describes an IPv6 CIDR block associated with a VPC.
  71535. type VpcIpv6CidrBlockAssociation struct {
  71536. _ struct{} `type:"structure"`
  71537. // The association ID for the IPv6 CIDR block.
  71538. AssociationId *string `locationName:"associationId" type:"string"`
  71539. // The IPv6 CIDR block.
  71540. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  71541. // Information about the state of the CIDR block.
  71542. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  71543. }
  71544. // String returns the string representation
  71545. func (s VpcIpv6CidrBlockAssociation) String() string {
  71546. return awsutil.Prettify(s)
  71547. }
  71548. // GoString returns the string representation
  71549. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  71550. return s.String()
  71551. }
  71552. // SetAssociationId sets the AssociationId field's value.
  71553. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  71554. s.AssociationId = &v
  71555. return s
  71556. }
  71557. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  71558. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  71559. s.Ipv6CidrBlock = &v
  71560. return s
  71561. }
  71562. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  71563. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  71564. s.Ipv6CidrBlockState = v
  71565. return s
  71566. }
  71567. // Describes a VPC peering connection.
  71568. type VpcPeeringConnection struct {
  71569. _ struct{} `type:"structure"`
  71570. // Information about the accepter VPC. CIDR block information is only returned
  71571. // when describing an active VPC peering connection.
  71572. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  71573. // The time that an unaccepted VPC peering connection will expire.
  71574. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
  71575. // Information about the requester VPC. CIDR block information is only returned
  71576. // when describing an active VPC peering connection.
  71577. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  71578. // The status of the VPC peering connection.
  71579. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  71580. // Any tags assigned to the resource.
  71581. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71582. // The ID of the VPC peering connection.
  71583. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  71584. }
  71585. // String returns the string representation
  71586. func (s VpcPeeringConnection) String() string {
  71587. return awsutil.Prettify(s)
  71588. }
  71589. // GoString returns the string representation
  71590. func (s VpcPeeringConnection) GoString() string {
  71591. return s.String()
  71592. }
  71593. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  71594. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  71595. s.AccepterVpcInfo = v
  71596. return s
  71597. }
  71598. // SetExpirationTime sets the ExpirationTime field's value.
  71599. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  71600. s.ExpirationTime = &v
  71601. return s
  71602. }
  71603. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  71604. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  71605. s.RequesterVpcInfo = v
  71606. return s
  71607. }
  71608. // SetStatus sets the Status field's value.
  71609. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  71610. s.Status = v
  71611. return s
  71612. }
  71613. // SetTags sets the Tags field's value.
  71614. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  71615. s.Tags = v
  71616. return s
  71617. }
  71618. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  71619. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  71620. s.VpcPeeringConnectionId = &v
  71621. return s
  71622. }
  71623. // Describes the VPC peering connection options.
  71624. type VpcPeeringConnectionOptionsDescription struct {
  71625. _ struct{} `type:"structure"`
  71626. // Indicates whether a local VPC can resolve public DNS hostnames to private
  71627. // IP addresses when queried from instances in a peer VPC.
  71628. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  71629. // Indicates whether a local ClassicLink connection can communicate with the
  71630. // peer VPC over the VPC peering connection.
  71631. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  71632. // Indicates whether a local VPC can communicate with a ClassicLink connection
  71633. // in the peer VPC over the VPC peering connection.
  71634. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  71635. }
  71636. // String returns the string representation
  71637. func (s VpcPeeringConnectionOptionsDescription) String() string {
  71638. return awsutil.Prettify(s)
  71639. }
  71640. // GoString returns the string representation
  71641. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  71642. return s.String()
  71643. }
  71644. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  71645. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  71646. s.AllowDnsResolutionFromRemoteVpc = &v
  71647. return s
  71648. }
  71649. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  71650. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  71651. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  71652. return s
  71653. }
  71654. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  71655. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  71656. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  71657. return s
  71658. }
  71659. // Describes the status of a VPC peering connection.
  71660. type VpcPeeringConnectionStateReason struct {
  71661. _ struct{} `type:"structure"`
  71662. // The status of the VPC peering connection.
  71663. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  71664. // A message that provides more information about the status, if applicable.
  71665. Message *string `locationName:"message" type:"string"`
  71666. }
  71667. // String returns the string representation
  71668. func (s VpcPeeringConnectionStateReason) String() string {
  71669. return awsutil.Prettify(s)
  71670. }
  71671. // GoString returns the string representation
  71672. func (s VpcPeeringConnectionStateReason) GoString() string {
  71673. return s.String()
  71674. }
  71675. // SetCode sets the Code field's value.
  71676. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  71677. s.Code = &v
  71678. return s
  71679. }
  71680. // SetMessage sets the Message field's value.
  71681. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  71682. s.Message = &v
  71683. return s
  71684. }
  71685. // Describes a VPC in a VPC peering connection.
  71686. type VpcPeeringConnectionVpcInfo struct {
  71687. _ struct{} `type:"structure"`
  71688. // The IPv4 CIDR block for the VPC.
  71689. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  71690. // Information about the IPv4 CIDR blocks for the VPC.
  71691. CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
  71692. // The IPv6 CIDR block for the VPC.
  71693. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  71694. // The AWS account ID of the VPC owner.
  71695. OwnerId *string `locationName:"ownerId" type:"string"`
  71696. // Information about the VPC peering connection options for the accepter or
  71697. // requester VPC.
  71698. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  71699. // The region in which the VPC is located.
  71700. Region *string `locationName:"region" type:"string"`
  71701. // The ID of the VPC.
  71702. VpcId *string `locationName:"vpcId" type:"string"`
  71703. }
  71704. // String returns the string representation
  71705. func (s VpcPeeringConnectionVpcInfo) String() string {
  71706. return awsutil.Prettify(s)
  71707. }
  71708. // GoString returns the string representation
  71709. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  71710. return s.String()
  71711. }
  71712. // SetCidrBlock sets the CidrBlock field's value.
  71713. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  71714. s.CidrBlock = &v
  71715. return s
  71716. }
  71717. // SetCidrBlockSet sets the CidrBlockSet field's value.
  71718. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
  71719. s.CidrBlockSet = v
  71720. return s
  71721. }
  71722. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  71723. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  71724. s.Ipv6CidrBlockSet = v
  71725. return s
  71726. }
  71727. // SetOwnerId sets the OwnerId field's value.
  71728. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  71729. s.OwnerId = &v
  71730. return s
  71731. }
  71732. // SetPeeringOptions sets the PeeringOptions field's value.
  71733. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  71734. s.PeeringOptions = v
  71735. return s
  71736. }
  71737. // SetRegion sets the Region field's value.
  71738. func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
  71739. s.Region = &v
  71740. return s
  71741. }
  71742. // SetVpcId sets the VpcId field's value.
  71743. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  71744. s.VpcId = &v
  71745. return s
  71746. }
  71747. // Describes a VPN connection.
  71748. type VpnConnection struct {
  71749. _ struct{} `type:"structure"`
  71750. // The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
  71751. // A value of VPN-Classic indicates an AWS Classic VPN connection.
  71752. Category *string `locationName:"category" type:"string"`
  71753. // The configuration information for the VPN connection's customer gateway (in
  71754. // the native XML format). This element is always present in the CreateVpnConnection
  71755. // response; however, it's present in the DescribeVpnConnections response only
  71756. // if the VPN connection is in the pending or available state.
  71757. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  71758. // The ID of the customer gateway at your end of the VPN connection.
  71759. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  71760. // The VPN connection options.
  71761. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  71762. // The static routes associated with the VPN connection.
  71763. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  71764. // The current state of the VPN connection.
  71765. State *string `locationName:"state" type:"string" enum:"VpnState"`
  71766. // Any tags assigned to the VPN connection.
  71767. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71768. // The ID of the transit gateway associated with the VPN connection.
  71769. TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
  71770. // The type of VPN connection.
  71771. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  71772. // Information about the VPN tunnel.
  71773. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  71774. // The ID of the VPN connection.
  71775. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  71776. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  71777. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  71778. }
  71779. // String returns the string representation
  71780. func (s VpnConnection) String() string {
  71781. return awsutil.Prettify(s)
  71782. }
  71783. // GoString returns the string representation
  71784. func (s VpnConnection) GoString() string {
  71785. return s.String()
  71786. }
  71787. // SetCategory sets the Category field's value.
  71788. func (s *VpnConnection) SetCategory(v string) *VpnConnection {
  71789. s.Category = &v
  71790. return s
  71791. }
  71792. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  71793. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  71794. s.CustomerGatewayConfiguration = &v
  71795. return s
  71796. }
  71797. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  71798. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  71799. s.CustomerGatewayId = &v
  71800. return s
  71801. }
  71802. // SetOptions sets the Options field's value.
  71803. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  71804. s.Options = v
  71805. return s
  71806. }
  71807. // SetRoutes sets the Routes field's value.
  71808. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  71809. s.Routes = v
  71810. return s
  71811. }
  71812. // SetState sets the State field's value.
  71813. func (s *VpnConnection) SetState(v string) *VpnConnection {
  71814. s.State = &v
  71815. return s
  71816. }
  71817. // SetTags sets the Tags field's value.
  71818. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  71819. s.Tags = v
  71820. return s
  71821. }
  71822. // SetTransitGatewayId sets the TransitGatewayId field's value.
  71823. func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
  71824. s.TransitGatewayId = &v
  71825. return s
  71826. }
  71827. // SetType sets the Type field's value.
  71828. func (s *VpnConnection) SetType(v string) *VpnConnection {
  71829. s.Type = &v
  71830. return s
  71831. }
  71832. // SetVgwTelemetry sets the VgwTelemetry field's value.
  71833. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  71834. s.VgwTelemetry = v
  71835. return s
  71836. }
  71837. // SetVpnConnectionId sets the VpnConnectionId field's value.
  71838. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  71839. s.VpnConnectionId = &v
  71840. return s
  71841. }
  71842. // SetVpnGatewayId sets the VpnGatewayId field's value.
  71843. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  71844. s.VpnGatewayId = &v
  71845. return s
  71846. }
  71847. // Describes VPN connection options.
  71848. type VpnConnectionOptions struct {
  71849. _ struct{} `type:"structure"`
  71850. // Indicates whether the VPN connection uses static routes only. Static routes
  71851. // must be used for devices that don't support BGP.
  71852. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  71853. }
  71854. // String returns the string representation
  71855. func (s VpnConnectionOptions) String() string {
  71856. return awsutil.Prettify(s)
  71857. }
  71858. // GoString returns the string representation
  71859. func (s VpnConnectionOptions) GoString() string {
  71860. return s.String()
  71861. }
  71862. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  71863. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  71864. s.StaticRoutesOnly = &v
  71865. return s
  71866. }
  71867. // Describes VPN connection options.
  71868. type VpnConnectionOptionsSpecification struct {
  71869. _ struct{} `type:"structure"`
  71870. // Indicate whether the VPN connection uses static routes only. If you are creating
  71871. // a VPN connection for a device that does not support BGP, you must specify
  71872. // true. Use CreateVpnConnectionRoute to create a static route.
  71873. //
  71874. // Default: false
  71875. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  71876. // The tunnel options for the VPN connection.
  71877. TunnelOptions []*VpnTunnelOptionsSpecification `locationNameList:"item" type:"list"`
  71878. }
  71879. // String returns the string representation
  71880. func (s VpnConnectionOptionsSpecification) String() string {
  71881. return awsutil.Prettify(s)
  71882. }
  71883. // GoString returns the string representation
  71884. func (s VpnConnectionOptionsSpecification) GoString() string {
  71885. return s.String()
  71886. }
  71887. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  71888. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  71889. s.StaticRoutesOnly = &v
  71890. return s
  71891. }
  71892. // SetTunnelOptions sets the TunnelOptions field's value.
  71893. func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
  71894. s.TunnelOptions = v
  71895. return s
  71896. }
  71897. // Describes a virtual private gateway.
  71898. type VpnGateway struct {
  71899. _ struct{} `type:"structure"`
  71900. // The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
  71901. AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
  71902. // The Availability Zone where the virtual private gateway was created, if applicable.
  71903. // This field may be empty or not returned.
  71904. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  71905. // The current state of the virtual private gateway.
  71906. State *string `locationName:"state" type:"string" enum:"VpnState"`
  71907. // Any tags assigned to the virtual private gateway.
  71908. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  71909. // The type of VPN connection the virtual private gateway supports.
  71910. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  71911. // Any VPCs attached to the virtual private gateway.
  71912. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  71913. // The ID of the virtual private gateway.
  71914. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  71915. }
  71916. // String returns the string representation
  71917. func (s VpnGateway) String() string {
  71918. return awsutil.Prettify(s)
  71919. }
  71920. // GoString returns the string representation
  71921. func (s VpnGateway) GoString() string {
  71922. return s.String()
  71923. }
  71924. // SetAmazonSideAsn sets the AmazonSideAsn field's value.
  71925. func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
  71926. s.AmazonSideAsn = &v
  71927. return s
  71928. }
  71929. // SetAvailabilityZone sets the AvailabilityZone field's value.
  71930. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  71931. s.AvailabilityZone = &v
  71932. return s
  71933. }
  71934. // SetState sets the State field's value.
  71935. func (s *VpnGateway) SetState(v string) *VpnGateway {
  71936. s.State = &v
  71937. return s
  71938. }
  71939. // SetTags sets the Tags field's value.
  71940. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  71941. s.Tags = v
  71942. return s
  71943. }
  71944. // SetType sets the Type field's value.
  71945. func (s *VpnGateway) SetType(v string) *VpnGateway {
  71946. s.Type = &v
  71947. return s
  71948. }
  71949. // SetVpcAttachments sets the VpcAttachments field's value.
  71950. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  71951. s.VpcAttachments = v
  71952. return s
  71953. }
  71954. // SetVpnGatewayId sets the VpnGatewayId field's value.
  71955. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  71956. s.VpnGatewayId = &v
  71957. return s
  71958. }
  71959. // Describes a static route for a VPN connection.
  71960. type VpnStaticRoute struct {
  71961. _ struct{} `type:"structure"`
  71962. // The CIDR block associated with the local subnet of the customer data center.
  71963. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  71964. // Indicates how the routes were provided.
  71965. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  71966. // The current state of the static route.
  71967. State *string `locationName:"state" type:"string" enum:"VpnState"`
  71968. }
  71969. // String returns the string representation
  71970. func (s VpnStaticRoute) String() string {
  71971. return awsutil.Prettify(s)
  71972. }
  71973. // GoString returns the string representation
  71974. func (s VpnStaticRoute) GoString() string {
  71975. return s.String()
  71976. }
  71977. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  71978. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  71979. s.DestinationCidrBlock = &v
  71980. return s
  71981. }
  71982. // SetSource sets the Source field's value.
  71983. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  71984. s.Source = &v
  71985. return s
  71986. }
  71987. // SetState sets the State field's value.
  71988. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  71989. s.State = &v
  71990. return s
  71991. }
  71992. // The tunnel options for a VPN connection.
  71993. type VpnTunnelOptionsSpecification struct {
  71994. _ struct{} `type:"structure"`
  71995. // The pre-shared key (PSK) to establish initial authentication between the
  71996. // virtual private gateway and customer gateway.
  71997. //
  71998. // Constraints: Allowed characters are alphanumeric characters and ._. Must
  71999. // be between 8 and 64 characters in length and cannot start with zero (0).
  72000. PreSharedKey *string `type:"string"`
  72001. // The range of inside IP addresses for the tunnel. Any specified CIDR blocks
  72002. // must be unique across all VPN connections that use the same virtual private
  72003. // gateway.
  72004. //
  72005. // Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
  72006. // CIDR blocks are reserved and cannot be used:
  72007. //
  72008. // * 169.254.0.0/30
  72009. //
  72010. // * 169.254.1.0/30
  72011. //
  72012. // * 169.254.2.0/30
  72013. //
  72014. // * 169.254.3.0/30
  72015. //
  72016. // * 169.254.4.0/30
  72017. //
  72018. // * 169.254.5.0/30
  72019. //
  72020. // * 169.254.169.252/30
  72021. TunnelInsideCidr *string `type:"string"`
  72022. }
  72023. // String returns the string representation
  72024. func (s VpnTunnelOptionsSpecification) String() string {
  72025. return awsutil.Prettify(s)
  72026. }
  72027. // GoString returns the string representation
  72028. func (s VpnTunnelOptionsSpecification) GoString() string {
  72029. return s.String()
  72030. }
  72031. // SetPreSharedKey sets the PreSharedKey field's value.
  72032. func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
  72033. s.PreSharedKey = &v
  72034. return s
  72035. }
  72036. // SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
  72037. func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
  72038. s.TunnelInsideCidr = &v
  72039. return s
  72040. }
  72041. type WithdrawByoipCidrInput struct {
  72042. _ struct{} `type:"structure"`
  72043. // The public IPv4 address range, in CIDR notation.
  72044. //
  72045. // Cidr is a required field
  72046. Cidr *string `type:"string" required:"true"`
  72047. // Checks whether you have the required permissions for the action, without
  72048. // actually making the request, and provides an error response. If you have
  72049. // the required permissions, the error response is DryRunOperation. Otherwise,
  72050. // it is UnauthorizedOperation.
  72051. DryRun *bool `type:"boolean"`
  72052. }
  72053. // String returns the string representation
  72054. func (s WithdrawByoipCidrInput) String() string {
  72055. return awsutil.Prettify(s)
  72056. }
  72057. // GoString returns the string representation
  72058. func (s WithdrawByoipCidrInput) GoString() string {
  72059. return s.String()
  72060. }
  72061. // Validate inspects the fields of the type to determine if they are valid.
  72062. func (s *WithdrawByoipCidrInput) Validate() error {
  72063. invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
  72064. if s.Cidr == nil {
  72065. invalidParams.Add(request.NewErrParamRequired("Cidr"))
  72066. }
  72067. if invalidParams.Len() > 0 {
  72068. return invalidParams
  72069. }
  72070. return nil
  72071. }
  72072. // SetCidr sets the Cidr field's value.
  72073. func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
  72074. s.Cidr = &v
  72075. return s
  72076. }
  72077. // SetDryRun sets the DryRun field's value.
  72078. func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
  72079. s.DryRun = &v
  72080. return s
  72081. }
  72082. type WithdrawByoipCidrOutput struct {
  72083. _ struct{} `type:"structure"`
  72084. // Information about the address pool.
  72085. ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
  72086. }
  72087. // String returns the string representation
  72088. func (s WithdrawByoipCidrOutput) String() string {
  72089. return awsutil.Prettify(s)
  72090. }
  72091. // GoString returns the string representation
  72092. func (s WithdrawByoipCidrOutput) GoString() string {
  72093. return s.String()
  72094. }
  72095. // SetByoipCidr sets the ByoipCidr field's value.
  72096. func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
  72097. s.ByoipCidr = v
  72098. return s
  72099. }
  72100. const (
  72101. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  72102. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  72103. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  72104. AccountAttributeNameDefaultVpc = "default-vpc"
  72105. )
  72106. const (
  72107. // ActivityStatusError is a ActivityStatus enum value
  72108. ActivityStatusError = "error"
  72109. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  72110. ActivityStatusPendingFulfillment = "pending_fulfillment"
  72111. // ActivityStatusPendingTermination is a ActivityStatus enum value
  72112. ActivityStatusPendingTermination = "pending_termination"
  72113. // ActivityStatusFulfilled is a ActivityStatus enum value
  72114. ActivityStatusFulfilled = "fulfilled"
  72115. )
  72116. const (
  72117. // AffinityDefault is a Affinity enum value
  72118. AffinityDefault = "default"
  72119. // AffinityHost is a Affinity enum value
  72120. AffinityHost = "host"
  72121. )
  72122. const (
  72123. // AllocationStateAvailable is a AllocationState enum value
  72124. AllocationStateAvailable = "available"
  72125. // AllocationStateUnderAssessment is a AllocationState enum value
  72126. AllocationStateUnderAssessment = "under-assessment"
  72127. // AllocationStatePermanentFailure is a AllocationState enum value
  72128. AllocationStatePermanentFailure = "permanent-failure"
  72129. // AllocationStateReleased is a AllocationState enum value
  72130. AllocationStateReleased = "released"
  72131. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  72132. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  72133. )
  72134. const (
  72135. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  72136. AllocationStrategyLowestPrice = "lowestPrice"
  72137. // AllocationStrategyDiversified is a AllocationStrategy enum value
  72138. AllocationStrategyDiversified = "diversified"
  72139. )
  72140. const (
  72141. // ArchitectureValuesI386 is a ArchitectureValues enum value
  72142. ArchitectureValuesI386 = "i386"
  72143. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  72144. ArchitectureValuesX8664 = "x86_64"
  72145. // ArchitectureValuesArm64 is a ArchitectureValues enum value
  72146. ArchitectureValuesArm64 = "arm64"
  72147. )
  72148. const (
  72149. // AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
  72150. AssociatedNetworkTypeVpc = "vpc"
  72151. )
  72152. const (
  72153. // AssociationStatusCodeAssociating is a AssociationStatusCode enum value
  72154. AssociationStatusCodeAssociating = "associating"
  72155. // AssociationStatusCodeAssociated is a AssociationStatusCode enum value
  72156. AssociationStatusCodeAssociated = "associated"
  72157. // AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
  72158. AssociationStatusCodeAssociationFailed = "association-failed"
  72159. // AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
  72160. AssociationStatusCodeDisassociating = "disassociating"
  72161. // AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
  72162. AssociationStatusCodeDisassociated = "disassociated"
  72163. )
  72164. const (
  72165. // AttachmentStatusAttaching is a AttachmentStatus enum value
  72166. AttachmentStatusAttaching = "attaching"
  72167. // AttachmentStatusAttached is a AttachmentStatus enum value
  72168. AttachmentStatusAttached = "attached"
  72169. // AttachmentStatusDetaching is a AttachmentStatus enum value
  72170. AttachmentStatusDetaching = "detaching"
  72171. // AttachmentStatusDetached is a AttachmentStatus enum value
  72172. AttachmentStatusDetached = "detached"
  72173. )
  72174. const (
  72175. // AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
  72176. AutoAcceptSharedAttachmentsValueEnable = "enable"
  72177. // AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
  72178. AutoAcceptSharedAttachmentsValueDisable = "disable"
  72179. )
  72180. const (
  72181. // AutoPlacementOn is a AutoPlacement enum value
  72182. AutoPlacementOn = "on"
  72183. // AutoPlacementOff is a AutoPlacement enum value
  72184. AutoPlacementOff = "off"
  72185. )
  72186. const (
  72187. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  72188. AvailabilityZoneStateAvailable = "available"
  72189. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  72190. AvailabilityZoneStateInformation = "information"
  72191. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  72192. AvailabilityZoneStateImpaired = "impaired"
  72193. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  72194. AvailabilityZoneStateUnavailable = "unavailable"
  72195. )
  72196. const (
  72197. // BatchStateSubmitted is a BatchState enum value
  72198. BatchStateSubmitted = "submitted"
  72199. // BatchStateActive is a BatchState enum value
  72200. BatchStateActive = "active"
  72201. // BatchStateCancelled is a BatchState enum value
  72202. BatchStateCancelled = "cancelled"
  72203. // BatchStateFailed is a BatchState enum value
  72204. BatchStateFailed = "failed"
  72205. // BatchStateCancelledRunning is a BatchState enum value
  72206. BatchStateCancelledRunning = "cancelled_running"
  72207. // BatchStateCancelledTerminating is a BatchState enum value
  72208. BatchStateCancelledTerminating = "cancelled_terminating"
  72209. // BatchStateModifying is a BatchState enum value
  72210. BatchStateModifying = "modifying"
  72211. )
  72212. const (
  72213. // BundleTaskStatePending is a BundleTaskState enum value
  72214. BundleTaskStatePending = "pending"
  72215. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  72216. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  72217. // BundleTaskStateBundling is a BundleTaskState enum value
  72218. BundleTaskStateBundling = "bundling"
  72219. // BundleTaskStateStoring is a BundleTaskState enum value
  72220. BundleTaskStateStoring = "storing"
  72221. // BundleTaskStateCancelling is a BundleTaskState enum value
  72222. BundleTaskStateCancelling = "cancelling"
  72223. // BundleTaskStateComplete is a BundleTaskState enum value
  72224. BundleTaskStateComplete = "complete"
  72225. // BundleTaskStateFailed is a BundleTaskState enum value
  72226. BundleTaskStateFailed = "failed"
  72227. )
  72228. const (
  72229. // ByoipCidrStateAdvertised is a ByoipCidrState enum value
  72230. ByoipCidrStateAdvertised = "advertised"
  72231. // ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
  72232. ByoipCidrStateDeprovisioned = "deprovisioned"
  72233. // ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
  72234. ByoipCidrStateFailedDeprovision = "failed-deprovision"
  72235. // ByoipCidrStateFailedProvision is a ByoipCidrState enum value
  72236. ByoipCidrStateFailedProvision = "failed-provision"
  72237. // ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
  72238. ByoipCidrStatePendingDeprovision = "pending-deprovision"
  72239. // ByoipCidrStatePendingProvision is a ByoipCidrState enum value
  72240. ByoipCidrStatePendingProvision = "pending-provision"
  72241. // ByoipCidrStateProvisioned is a ByoipCidrState enum value
  72242. ByoipCidrStateProvisioned = "provisioned"
  72243. )
  72244. const (
  72245. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  72246. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  72247. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  72248. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  72249. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  72250. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  72251. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  72252. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  72253. )
  72254. const (
  72255. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  72256. CancelSpotInstanceRequestStateActive = "active"
  72257. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  72258. CancelSpotInstanceRequestStateOpen = "open"
  72259. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  72260. CancelSpotInstanceRequestStateClosed = "closed"
  72261. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  72262. CancelSpotInstanceRequestStateCancelled = "cancelled"
  72263. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  72264. CancelSpotInstanceRequestStateCompleted = "completed"
  72265. )
  72266. const (
  72267. // CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
  72268. CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
  72269. // CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
  72270. CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
  72271. // CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
  72272. CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
  72273. // CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
  72274. CapacityReservationInstancePlatformWindows = "Windows"
  72275. // CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
  72276. CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
  72277. // CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
  72278. CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
  72279. // CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
  72280. CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
  72281. // CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
  72282. CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
  72283. // CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
  72284. CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
  72285. // CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
  72286. CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
  72287. // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
  72288. CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
  72289. )
  72290. const (
  72291. // CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
  72292. CapacityReservationPreferenceOpen = "open"
  72293. // CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
  72294. CapacityReservationPreferenceNone = "none"
  72295. )
  72296. const (
  72297. // CapacityReservationStateActive is a CapacityReservationState enum value
  72298. CapacityReservationStateActive = "active"
  72299. // CapacityReservationStateExpired is a CapacityReservationState enum value
  72300. CapacityReservationStateExpired = "expired"
  72301. // CapacityReservationStateCancelled is a CapacityReservationState enum value
  72302. CapacityReservationStateCancelled = "cancelled"
  72303. // CapacityReservationStatePending is a CapacityReservationState enum value
  72304. CapacityReservationStatePending = "pending"
  72305. // CapacityReservationStateFailed is a CapacityReservationState enum value
  72306. CapacityReservationStateFailed = "failed"
  72307. )
  72308. const (
  72309. // CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
  72310. CapacityReservationTenancyDefault = "default"
  72311. // CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
  72312. CapacityReservationTenancyDedicated = "dedicated"
  72313. )
  72314. const (
  72315. // ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
  72316. ClientCertificateRevocationListStatusCodePending = "pending"
  72317. // ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
  72318. ClientCertificateRevocationListStatusCodeActive = "active"
  72319. )
  72320. const (
  72321. // ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
  72322. ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
  72323. // ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
  72324. ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
  72325. )
  72326. const (
  72327. // ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
  72328. ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
  72329. // ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
  72330. ClientVpnAuthorizationRuleStatusCodeActive = "active"
  72331. // ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
  72332. ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
  72333. // ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
  72334. ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
  72335. )
  72336. const (
  72337. // ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
  72338. ClientVpnConnectionStatusCodeActive = "active"
  72339. // ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
  72340. ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
  72341. // ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
  72342. ClientVpnConnectionStatusCodeTerminating = "terminating"
  72343. // ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
  72344. ClientVpnConnectionStatusCodeTerminated = "terminated"
  72345. )
  72346. const (
  72347. // ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
  72348. ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
  72349. // ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
  72350. ClientVpnEndpointStatusCodeAvailable = "available"
  72351. // ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
  72352. ClientVpnEndpointStatusCodeDeleting = "deleting"
  72353. // ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
  72354. ClientVpnEndpointStatusCodeDeleted = "deleted"
  72355. )
  72356. const (
  72357. // ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
  72358. ClientVpnRouteStatusCodeCreating = "creating"
  72359. // ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
  72360. ClientVpnRouteStatusCodeActive = "active"
  72361. // ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
  72362. ClientVpnRouteStatusCodeFailed = "failed"
  72363. // ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
  72364. ClientVpnRouteStatusCodeDeleting = "deleting"
  72365. )
  72366. const (
  72367. // ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
  72368. ConnectionNotificationStateEnabled = "Enabled"
  72369. // ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
  72370. ConnectionNotificationStateDisabled = "Disabled"
  72371. )
  72372. const (
  72373. // ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
  72374. ConnectionNotificationTypeTopic = "Topic"
  72375. )
  72376. const (
  72377. // ContainerFormatOva is a ContainerFormat enum value
  72378. ContainerFormatOva = "ova"
  72379. )
  72380. const (
  72381. // ConversionTaskStateActive is a ConversionTaskState enum value
  72382. ConversionTaskStateActive = "active"
  72383. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  72384. ConversionTaskStateCancelling = "cancelling"
  72385. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  72386. ConversionTaskStateCancelled = "cancelled"
  72387. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  72388. ConversionTaskStateCompleted = "completed"
  72389. )
  72390. const (
  72391. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  72392. CurrencyCodeValuesUsd = "USD"
  72393. )
  72394. const (
  72395. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  72396. DatafeedSubscriptionStateActive = "Active"
  72397. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  72398. DatafeedSubscriptionStateInactive = "Inactive"
  72399. )
  72400. const (
  72401. // DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
  72402. DefaultRouteTableAssociationValueEnable = "enable"
  72403. // DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
  72404. DefaultRouteTableAssociationValueDisable = "disable"
  72405. )
  72406. const (
  72407. // DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
  72408. DefaultRouteTablePropagationValueEnable = "enable"
  72409. // DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
  72410. DefaultRouteTablePropagationValueDisable = "disable"
  72411. )
  72412. const (
  72413. // DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
  72414. DefaultTargetCapacityTypeSpot = "spot"
  72415. // DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
  72416. DefaultTargetCapacityTypeOnDemand = "on-demand"
  72417. )
  72418. const (
  72419. // DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
  72420. DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
  72421. // DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
  72422. DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
  72423. // DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
  72424. DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
  72425. // DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
  72426. DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
  72427. )
  72428. const (
  72429. // DeviceTypeEbs is a DeviceType enum value
  72430. DeviceTypeEbs = "ebs"
  72431. // DeviceTypeInstanceStore is a DeviceType enum value
  72432. DeviceTypeInstanceStore = "instance-store"
  72433. )
  72434. const (
  72435. // DiskImageFormatVmdk is a DiskImageFormat enum value
  72436. DiskImageFormatVmdk = "VMDK"
  72437. // DiskImageFormatRaw is a DiskImageFormat enum value
  72438. DiskImageFormatRaw = "RAW"
  72439. // DiskImageFormatVhd is a DiskImageFormat enum value
  72440. DiskImageFormatVhd = "VHD"
  72441. )
  72442. const (
  72443. // DnsSupportValueEnable is a DnsSupportValue enum value
  72444. DnsSupportValueEnable = "enable"
  72445. // DnsSupportValueDisable is a DnsSupportValue enum value
  72446. DnsSupportValueDisable = "disable"
  72447. )
  72448. const (
  72449. // DomainTypeVpc is a DomainType enum value
  72450. DomainTypeVpc = "vpc"
  72451. // DomainTypeStandard is a DomainType enum value
  72452. DomainTypeStandard = "standard"
  72453. )
  72454. const (
  72455. // ElasticGpuStateAttached is a ElasticGpuState enum value
  72456. ElasticGpuStateAttached = "ATTACHED"
  72457. )
  72458. const (
  72459. // ElasticGpuStatusOk is a ElasticGpuStatus enum value
  72460. ElasticGpuStatusOk = "OK"
  72461. // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
  72462. ElasticGpuStatusImpaired = "IMPAIRED"
  72463. )
  72464. const (
  72465. // EndDateTypeUnlimited is a EndDateType enum value
  72466. EndDateTypeUnlimited = "unlimited"
  72467. // EndDateTypeLimited is a EndDateType enum value
  72468. EndDateTypeLimited = "limited"
  72469. )
  72470. const (
  72471. // EventCodeInstanceReboot is a EventCode enum value
  72472. EventCodeInstanceReboot = "instance-reboot"
  72473. // EventCodeSystemReboot is a EventCode enum value
  72474. EventCodeSystemReboot = "system-reboot"
  72475. // EventCodeSystemMaintenance is a EventCode enum value
  72476. EventCodeSystemMaintenance = "system-maintenance"
  72477. // EventCodeInstanceRetirement is a EventCode enum value
  72478. EventCodeInstanceRetirement = "instance-retirement"
  72479. // EventCodeInstanceStop is a EventCode enum value
  72480. EventCodeInstanceStop = "instance-stop"
  72481. )
  72482. const (
  72483. // EventTypeInstanceChange is a EventType enum value
  72484. EventTypeInstanceChange = "instanceChange"
  72485. // EventTypeFleetRequestChange is a EventType enum value
  72486. EventTypeFleetRequestChange = "fleetRequestChange"
  72487. // EventTypeError is a EventType enum value
  72488. EventTypeError = "error"
  72489. )
  72490. const (
  72491. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  72492. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  72493. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  72494. ExcessCapacityTerminationPolicyDefault = "default"
  72495. )
  72496. const (
  72497. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  72498. ExportEnvironmentCitrix = "citrix"
  72499. // ExportEnvironmentVmware is a ExportEnvironment enum value
  72500. ExportEnvironmentVmware = "vmware"
  72501. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  72502. ExportEnvironmentMicrosoft = "microsoft"
  72503. )
  72504. const (
  72505. // ExportTaskStateActive is a ExportTaskState enum value
  72506. ExportTaskStateActive = "active"
  72507. // ExportTaskStateCancelling is a ExportTaskState enum value
  72508. ExportTaskStateCancelling = "cancelling"
  72509. // ExportTaskStateCancelled is a ExportTaskState enum value
  72510. ExportTaskStateCancelled = "cancelled"
  72511. // ExportTaskStateCompleted is a ExportTaskState enum value
  72512. ExportTaskStateCompleted = "completed"
  72513. )
  72514. const (
  72515. // FleetActivityStatusError is a FleetActivityStatus enum value
  72516. FleetActivityStatusError = "error"
  72517. // FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
  72518. FleetActivityStatusPendingFulfillment = "pending-fulfillment"
  72519. // FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
  72520. FleetActivityStatusPendingTermination = "pending-termination"
  72521. // FleetActivityStatusFulfilled is a FleetActivityStatus enum value
  72522. FleetActivityStatusFulfilled = "fulfilled"
  72523. )
  72524. const (
  72525. // FleetEventTypeInstanceChange is a FleetEventType enum value
  72526. FleetEventTypeInstanceChange = "instance-change"
  72527. // FleetEventTypeFleetChange is a FleetEventType enum value
  72528. FleetEventTypeFleetChange = "fleet-change"
  72529. // FleetEventTypeServiceError is a FleetEventType enum value
  72530. FleetEventTypeServiceError = "service-error"
  72531. )
  72532. const (
  72533. // FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
  72534. FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
  72535. // FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
  72536. FleetExcessCapacityTerminationPolicyTermination = "termination"
  72537. )
  72538. const (
  72539. // FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
  72540. FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
  72541. // FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
  72542. FleetOnDemandAllocationStrategyPrioritized = "prioritized"
  72543. )
  72544. const (
  72545. // FleetStateCodeSubmitted is a FleetStateCode enum value
  72546. FleetStateCodeSubmitted = "submitted"
  72547. // FleetStateCodeActive is a FleetStateCode enum value
  72548. FleetStateCodeActive = "active"
  72549. // FleetStateCodeDeleted is a FleetStateCode enum value
  72550. FleetStateCodeDeleted = "deleted"
  72551. // FleetStateCodeFailed is a FleetStateCode enum value
  72552. FleetStateCodeFailed = "failed"
  72553. // FleetStateCodeDeletedRunning is a FleetStateCode enum value
  72554. FleetStateCodeDeletedRunning = "deleted-running"
  72555. // FleetStateCodeDeletedTerminating is a FleetStateCode enum value
  72556. FleetStateCodeDeletedTerminating = "deleted-terminating"
  72557. // FleetStateCodeModifying is a FleetStateCode enum value
  72558. FleetStateCodeModifying = "modifying"
  72559. )
  72560. const (
  72561. // FleetTypeRequest is a FleetType enum value
  72562. FleetTypeRequest = "request"
  72563. // FleetTypeMaintain is a FleetType enum value
  72564. FleetTypeMaintain = "maintain"
  72565. // FleetTypeInstant is a FleetType enum value
  72566. FleetTypeInstant = "instant"
  72567. )
  72568. const (
  72569. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  72570. FlowLogsResourceTypeVpc = "VPC"
  72571. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  72572. FlowLogsResourceTypeSubnet = "Subnet"
  72573. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  72574. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  72575. )
  72576. const (
  72577. // FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
  72578. FpgaImageAttributeNameDescription = "description"
  72579. // FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
  72580. FpgaImageAttributeNameName = "name"
  72581. // FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
  72582. FpgaImageAttributeNameLoadPermission = "loadPermission"
  72583. // FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
  72584. FpgaImageAttributeNameProductCodes = "productCodes"
  72585. )
  72586. const (
  72587. // FpgaImageStateCodePending is a FpgaImageStateCode enum value
  72588. FpgaImageStateCodePending = "pending"
  72589. // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
  72590. FpgaImageStateCodeFailed = "failed"
  72591. // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
  72592. FpgaImageStateCodeAvailable = "available"
  72593. // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
  72594. FpgaImageStateCodeUnavailable = "unavailable"
  72595. )
  72596. const (
  72597. // GatewayTypeIpsec1 is a GatewayType enum value
  72598. GatewayTypeIpsec1 = "ipsec.1"
  72599. )
  72600. const (
  72601. // HostTenancyDedicated is a HostTenancy enum value
  72602. HostTenancyDedicated = "dedicated"
  72603. // HostTenancyHost is a HostTenancy enum value
  72604. HostTenancyHost = "host"
  72605. )
  72606. const (
  72607. // HypervisorTypeOvm is a HypervisorType enum value
  72608. HypervisorTypeOvm = "ovm"
  72609. // HypervisorTypeXen is a HypervisorType enum value
  72610. HypervisorTypeXen = "xen"
  72611. )
  72612. const (
  72613. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  72614. IamInstanceProfileAssociationStateAssociating = "associating"
  72615. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  72616. IamInstanceProfileAssociationStateAssociated = "associated"
  72617. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  72618. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  72619. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  72620. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  72621. )
  72622. const (
  72623. // ImageAttributeNameDescription is a ImageAttributeName enum value
  72624. ImageAttributeNameDescription = "description"
  72625. // ImageAttributeNameKernel is a ImageAttributeName enum value
  72626. ImageAttributeNameKernel = "kernel"
  72627. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  72628. ImageAttributeNameRamdisk = "ramdisk"
  72629. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  72630. ImageAttributeNameLaunchPermission = "launchPermission"
  72631. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  72632. ImageAttributeNameProductCodes = "productCodes"
  72633. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  72634. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  72635. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  72636. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  72637. )
  72638. const (
  72639. // ImageStatePending is a ImageState enum value
  72640. ImageStatePending = "pending"
  72641. // ImageStateAvailable is a ImageState enum value
  72642. ImageStateAvailable = "available"
  72643. // ImageStateInvalid is a ImageState enum value
  72644. ImageStateInvalid = "invalid"
  72645. // ImageStateDeregistered is a ImageState enum value
  72646. ImageStateDeregistered = "deregistered"
  72647. // ImageStateTransient is a ImageState enum value
  72648. ImageStateTransient = "transient"
  72649. // ImageStateFailed is a ImageState enum value
  72650. ImageStateFailed = "failed"
  72651. // ImageStateError is a ImageState enum value
  72652. ImageStateError = "error"
  72653. )
  72654. const (
  72655. // ImageTypeValuesMachine is a ImageTypeValues enum value
  72656. ImageTypeValuesMachine = "machine"
  72657. // ImageTypeValuesKernel is a ImageTypeValues enum value
  72658. ImageTypeValuesKernel = "kernel"
  72659. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  72660. ImageTypeValuesRamdisk = "ramdisk"
  72661. )
  72662. const (
  72663. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  72664. InstanceAttributeNameInstanceType = "instanceType"
  72665. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  72666. InstanceAttributeNameKernel = "kernel"
  72667. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  72668. InstanceAttributeNameRamdisk = "ramdisk"
  72669. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  72670. InstanceAttributeNameUserData = "userData"
  72671. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  72672. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  72673. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  72674. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  72675. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  72676. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  72677. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  72678. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  72679. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  72680. InstanceAttributeNameProductCodes = "productCodes"
  72681. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  72682. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  72683. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  72684. InstanceAttributeNameGroupSet = "groupSet"
  72685. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  72686. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  72687. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  72688. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  72689. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  72690. InstanceAttributeNameEnaSupport = "enaSupport"
  72691. )
  72692. const (
  72693. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  72694. InstanceHealthStatusHealthy = "healthy"
  72695. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  72696. InstanceHealthStatusUnhealthy = "unhealthy"
  72697. )
  72698. const (
  72699. // InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
  72700. InstanceInterruptionBehaviorHibernate = "hibernate"
  72701. // InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
  72702. InstanceInterruptionBehaviorStop = "stop"
  72703. // InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
  72704. InstanceInterruptionBehaviorTerminate = "terminate"
  72705. )
  72706. const (
  72707. // InstanceLifecycleSpot is a InstanceLifecycle enum value
  72708. InstanceLifecycleSpot = "spot"
  72709. // InstanceLifecycleOnDemand is a InstanceLifecycle enum value
  72710. InstanceLifecycleOnDemand = "on-demand"
  72711. )
  72712. const (
  72713. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  72714. InstanceLifecycleTypeSpot = "spot"
  72715. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  72716. InstanceLifecycleTypeScheduled = "scheduled"
  72717. )
  72718. const (
  72719. // InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
  72720. InstanceMatchCriteriaOpen = "open"
  72721. // InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
  72722. InstanceMatchCriteriaTargeted = "targeted"
  72723. )
  72724. const (
  72725. // InstanceStateNamePending is a InstanceStateName enum value
  72726. InstanceStateNamePending = "pending"
  72727. // InstanceStateNameRunning is a InstanceStateName enum value
  72728. InstanceStateNameRunning = "running"
  72729. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  72730. InstanceStateNameShuttingDown = "shutting-down"
  72731. // InstanceStateNameTerminated is a InstanceStateName enum value
  72732. InstanceStateNameTerminated = "terminated"
  72733. // InstanceStateNameStopping is a InstanceStateName enum value
  72734. InstanceStateNameStopping = "stopping"
  72735. // InstanceStateNameStopped is a InstanceStateName enum value
  72736. InstanceStateNameStopped = "stopped"
  72737. )
  72738. const (
  72739. // InstanceTypeT1Micro is a InstanceType enum value
  72740. InstanceTypeT1Micro = "t1.micro"
  72741. // InstanceTypeT2Nano is a InstanceType enum value
  72742. InstanceTypeT2Nano = "t2.nano"
  72743. // InstanceTypeT2Micro is a InstanceType enum value
  72744. InstanceTypeT2Micro = "t2.micro"
  72745. // InstanceTypeT2Small is a InstanceType enum value
  72746. InstanceTypeT2Small = "t2.small"
  72747. // InstanceTypeT2Medium is a InstanceType enum value
  72748. InstanceTypeT2Medium = "t2.medium"
  72749. // InstanceTypeT2Large is a InstanceType enum value
  72750. InstanceTypeT2Large = "t2.large"
  72751. // InstanceTypeT2Xlarge is a InstanceType enum value
  72752. InstanceTypeT2Xlarge = "t2.xlarge"
  72753. // InstanceTypeT22xlarge is a InstanceType enum value
  72754. InstanceTypeT22xlarge = "t2.2xlarge"
  72755. // InstanceTypeT3Nano is a InstanceType enum value
  72756. InstanceTypeT3Nano = "t3.nano"
  72757. // InstanceTypeT3Micro is a InstanceType enum value
  72758. InstanceTypeT3Micro = "t3.micro"
  72759. // InstanceTypeT3Small is a InstanceType enum value
  72760. InstanceTypeT3Small = "t3.small"
  72761. // InstanceTypeT3Medium is a InstanceType enum value
  72762. InstanceTypeT3Medium = "t3.medium"
  72763. // InstanceTypeT3Large is a InstanceType enum value
  72764. InstanceTypeT3Large = "t3.large"
  72765. // InstanceTypeT3Xlarge is a InstanceType enum value
  72766. InstanceTypeT3Xlarge = "t3.xlarge"
  72767. // InstanceTypeT32xlarge is a InstanceType enum value
  72768. InstanceTypeT32xlarge = "t3.2xlarge"
  72769. // InstanceTypeM1Small is a InstanceType enum value
  72770. InstanceTypeM1Small = "m1.small"
  72771. // InstanceTypeM1Medium is a InstanceType enum value
  72772. InstanceTypeM1Medium = "m1.medium"
  72773. // InstanceTypeM1Large is a InstanceType enum value
  72774. InstanceTypeM1Large = "m1.large"
  72775. // InstanceTypeM1Xlarge is a InstanceType enum value
  72776. InstanceTypeM1Xlarge = "m1.xlarge"
  72777. // InstanceTypeM3Medium is a InstanceType enum value
  72778. InstanceTypeM3Medium = "m3.medium"
  72779. // InstanceTypeM3Large is a InstanceType enum value
  72780. InstanceTypeM3Large = "m3.large"
  72781. // InstanceTypeM3Xlarge is a InstanceType enum value
  72782. InstanceTypeM3Xlarge = "m3.xlarge"
  72783. // InstanceTypeM32xlarge is a InstanceType enum value
  72784. InstanceTypeM32xlarge = "m3.2xlarge"
  72785. // InstanceTypeM4Large is a InstanceType enum value
  72786. InstanceTypeM4Large = "m4.large"
  72787. // InstanceTypeM4Xlarge is a InstanceType enum value
  72788. InstanceTypeM4Xlarge = "m4.xlarge"
  72789. // InstanceTypeM42xlarge is a InstanceType enum value
  72790. InstanceTypeM42xlarge = "m4.2xlarge"
  72791. // InstanceTypeM44xlarge is a InstanceType enum value
  72792. InstanceTypeM44xlarge = "m4.4xlarge"
  72793. // InstanceTypeM410xlarge is a InstanceType enum value
  72794. InstanceTypeM410xlarge = "m4.10xlarge"
  72795. // InstanceTypeM416xlarge is a InstanceType enum value
  72796. InstanceTypeM416xlarge = "m4.16xlarge"
  72797. // InstanceTypeM2Xlarge is a InstanceType enum value
  72798. InstanceTypeM2Xlarge = "m2.xlarge"
  72799. // InstanceTypeM22xlarge is a InstanceType enum value
  72800. InstanceTypeM22xlarge = "m2.2xlarge"
  72801. // InstanceTypeM24xlarge is a InstanceType enum value
  72802. InstanceTypeM24xlarge = "m2.4xlarge"
  72803. // InstanceTypeCr18xlarge is a InstanceType enum value
  72804. InstanceTypeCr18xlarge = "cr1.8xlarge"
  72805. // InstanceTypeR3Large is a InstanceType enum value
  72806. InstanceTypeR3Large = "r3.large"
  72807. // InstanceTypeR3Xlarge is a InstanceType enum value
  72808. InstanceTypeR3Xlarge = "r3.xlarge"
  72809. // InstanceTypeR32xlarge is a InstanceType enum value
  72810. InstanceTypeR32xlarge = "r3.2xlarge"
  72811. // InstanceTypeR34xlarge is a InstanceType enum value
  72812. InstanceTypeR34xlarge = "r3.4xlarge"
  72813. // InstanceTypeR38xlarge is a InstanceType enum value
  72814. InstanceTypeR38xlarge = "r3.8xlarge"
  72815. // InstanceTypeR4Large is a InstanceType enum value
  72816. InstanceTypeR4Large = "r4.large"
  72817. // InstanceTypeR4Xlarge is a InstanceType enum value
  72818. InstanceTypeR4Xlarge = "r4.xlarge"
  72819. // InstanceTypeR42xlarge is a InstanceType enum value
  72820. InstanceTypeR42xlarge = "r4.2xlarge"
  72821. // InstanceTypeR44xlarge is a InstanceType enum value
  72822. InstanceTypeR44xlarge = "r4.4xlarge"
  72823. // InstanceTypeR48xlarge is a InstanceType enum value
  72824. InstanceTypeR48xlarge = "r4.8xlarge"
  72825. // InstanceTypeR416xlarge is a InstanceType enum value
  72826. InstanceTypeR416xlarge = "r4.16xlarge"
  72827. // InstanceTypeR5Large is a InstanceType enum value
  72828. InstanceTypeR5Large = "r5.large"
  72829. // InstanceTypeR5Xlarge is a InstanceType enum value
  72830. InstanceTypeR5Xlarge = "r5.xlarge"
  72831. // InstanceTypeR52xlarge is a InstanceType enum value
  72832. InstanceTypeR52xlarge = "r5.2xlarge"
  72833. // InstanceTypeR54xlarge is a InstanceType enum value
  72834. InstanceTypeR54xlarge = "r5.4xlarge"
  72835. // InstanceTypeR512xlarge is a InstanceType enum value
  72836. InstanceTypeR512xlarge = "r5.12xlarge"
  72837. // InstanceTypeR524xlarge is a InstanceType enum value
  72838. InstanceTypeR524xlarge = "r5.24xlarge"
  72839. // InstanceTypeR5Metal is a InstanceType enum value
  72840. InstanceTypeR5Metal = "r5.metal"
  72841. // InstanceTypeR5aLarge is a InstanceType enum value
  72842. InstanceTypeR5aLarge = "r5a.large"
  72843. // InstanceTypeR5aXlarge is a InstanceType enum value
  72844. InstanceTypeR5aXlarge = "r5a.xlarge"
  72845. // InstanceTypeR5a2xlarge is a InstanceType enum value
  72846. InstanceTypeR5a2xlarge = "r5a.2xlarge"
  72847. // InstanceTypeR5a4xlarge is a InstanceType enum value
  72848. InstanceTypeR5a4xlarge = "r5a.4xlarge"
  72849. // InstanceTypeR5a12xlarge is a InstanceType enum value
  72850. InstanceTypeR5a12xlarge = "r5a.12xlarge"
  72851. // InstanceTypeR5a24xlarge is a InstanceType enum value
  72852. InstanceTypeR5a24xlarge = "r5a.24xlarge"
  72853. // InstanceTypeR5dLarge is a InstanceType enum value
  72854. InstanceTypeR5dLarge = "r5d.large"
  72855. // InstanceTypeR5dXlarge is a InstanceType enum value
  72856. InstanceTypeR5dXlarge = "r5d.xlarge"
  72857. // InstanceTypeR5d2xlarge is a InstanceType enum value
  72858. InstanceTypeR5d2xlarge = "r5d.2xlarge"
  72859. // InstanceTypeR5d4xlarge is a InstanceType enum value
  72860. InstanceTypeR5d4xlarge = "r5d.4xlarge"
  72861. // InstanceTypeR5d12xlarge is a InstanceType enum value
  72862. InstanceTypeR5d12xlarge = "r5d.12xlarge"
  72863. // InstanceTypeR5d24xlarge is a InstanceType enum value
  72864. InstanceTypeR5d24xlarge = "r5d.24xlarge"
  72865. // InstanceTypeR5dMetal is a InstanceType enum value
  72866. InstanceTypeR5dMetal = "r5d.metal"
  72867. // InstanceTypeX116xlarge is a InstanceType enum value
  72868. InstanceTypeX116xlarge = "x1.16xlarge"
  72869. // InstanceTypeX132xlarge is a InstanceType enum value
  72870. InstanceTypeX132xlarge = "x1.32xlarge"
  72871. // InstanceTypeX1eXlarge is a InstanceType enum value
  72872. InstanceTypeX1eXlarge = "x1e.xlarge"
  72873. // InstanceTypeX1e2xlarge is a InstanceType enum value
  72874. InstanceTypeX1e2xlarge = "x1e.2xlarge"
  72875. // InstanceTypeX1e4xlarge is a InstanceType enum value
  72876. InstanceTypeX1e4xlarge = "x1e.4xlarge"
  72877. // InstanceTypeX1e8xlarge is a InstanceType enum value
  72878. InstanceTypeX1e8xlarge = "x1e.8xlarge"
  72879. // InstanceTypeX1e16xlarge is a InstanceType enum value
  72880. InstanceTypeX1e16xlarge = "x1e.16xlarge"
  72881. // InstanceTypeX1e32xlarge is a InstanceType enum value
  72882. InstanceTypeX1e32xlarge = "x1e.32xlarge"
  72883. // InstanceTypeI2Xlarge is a InstanceType enum value
  72884. InstanceTypeI2Xlarge = "i2.xlarge"
  72885. // InstanceTypeI22xlarge is a InstanceType enum value
  72886. InstanceTypeI22xlarge = "i2.2xlarge"
  72887. // InstanceTypeI24xlarge is a InstanceType enum value
  72888. InstanceTypeI24xlarge = "i2.4xlarge"
  72889. // InstanceTypeI28xlarge is a InstanceType enum value
  72890. InstanceTypeI28xlarge = "i2.8xlarge"
  72891. // InstanceTypeI3Large is a InstanceType enum value
  72892. InstanceTypeI3Large = "i3.large"
  72893. // InstanceTypeI3Xlarge is a InstanceType enum value
  72894. InstanceTypeI3Xlarge = "i3.xlarge"
  72895. // InstanceTypeI32xlarge is a InstanceType enum value
  72896. InstanceTypeI32xlarge = "i3.2xlarge"
  72897. // InstanceTypeI34xlarge is a InstanceType enum value
  72898. InstanceTypeI34xlarge = "i3.4xlarge"
  72899. // InstanceTypeI38xlarge is a InstanceType enum value
  72900. InstanceTypeI38xlarge = "i3.8xlarge"
  72901. // InstanceTypeI316xlarge is a InstanceType enum value
  72902. InstanceTypeI316xlarge = "i3.16xlarge"
  72903. // InstanceTypeI3Metal is a InstanceType enum value
  72904. InstanceTypeI3Metal = "i3.metal"
  72905. // InstanceTypeHi14xlarge is a InstanceType enum value
  72906. InstanceTypeHi14xlarge = "hi1.4xlarge"
  72907. // InstanceTypeHs18xlarge is a InstanceType enum value
  72908. InstanceTypeHs18xlarge = "hs1.8xlarge"
  72909. // InstanceTypeC1Medium is a InstanceType enum value
  72910. InstanceTypeC1Medium = "c1.medium"
  72911. // InstanceTypeC1Xlarge is a InstanceType enum value
  72912. InstanceTypeC1Xlarge = "c1.xlarge"
  72913. // InstanceTypeC3Large is a InstanceType enum value
  72914. InstanceTypeC3Large = "c3.large"
  72915. // InstanceTypeC3Xlarge is a InstanceType enum value
  72916. InstanceTypeC3Xlarge = "c3.xlarge"
  72917. // InstanceTypeC32xlarge is a InstanceType enum value
  72918. InstanceTypeC32xlarge = "c3.2xlarge"
  72919. // InstanceTypeC34xlarge is a InstanceType enum value
  72920. InstanceTypeC34xlarge = "c3.4xlarge"
  72921. // InstanceTypeC38xlarge is a InstanceType enum value
  72922. InstanceTypeC38xlarge = "c3.8xlarge"
  72923. // InstanceTypeC4Large is a InstanceType enum value
  72924. InstanceTypeC4Large = "c4.large"
  72925. // InstanceTypeC4Xlarge is a InstanceType enum value
  72926. InstanceTypeC4Xlarge = "c4.xlarge"
  72927. // InstanceTypeC42xlarge is a InstanceType enum value
  72928. InstanceTypeC42xlarge = "c4.2xlarge"
  72929. // InstanceTypeC44xlarge is a InstanceType enum value
  72930. InstanceTypeC44xlarge = "c4.4xlarge"
  72931. // InstanceTypeC48xlarge is a InstanceType enum value
  72932. InstanceTypeC48xlarge = "c4.8xlarge"
  72933. // InstanceTypeC5Large is a InstanceType enum value
  72934. InstanceTypeC5Large = "c5.large"
  72935. // InstanceTypeC5Xlarge is a InstanceType enum value
  72936. InstanceTypeC5Xlarge = "c5.xlarge"
  72937. // InstanceTypeC52xlarge is a InstanceType enum value
  72938. InstanceTypeC52xlarge = "c5.2xlarge"
  72939. // InstanceTypeC54xlarge is a InstanceType enum value
  72940. InstanceTypeC54xlarge = "c5.4xlarge"
  72941. // InstanceTypeC59xlarge is a InstanceType enum value
  72942. InstanceTypeC59xlarge = "c5.9xlarge"
  72943. // InstanceTypeC518xlarge is a InstanceType enum value
  72944. InstanceTypeC518xlarge = "c5.18xlarge"
  72945. // InstanceTypeC5dLarge is a InstanceType enum value
  72946. InstanceTypeC5dLarge = "c5d.large"
  72947. // InstanceTypeC5dXlarge is a InstanceType enum value
  72948. InstanceTypeC5dXlarge = "c5d.xlarge"
  72949. // InstanceTypeC5d2xlarge is a InstanceType enum value
  72950. InstanceTypeC5d2xlarge = "c5d.2xlarge"
  72951. // InstanceTypeC5d4xlarge is a InstanceType enum value
  72952. InstanceTypeC5d4xlarge = "c5d.4xlarge"
  72953. // InstanceTypeC5d9xlarge is a InstanceType enum value
  72954. InstanceTypeC5d9xlarge = "c5d.9xlarge"
  72955. // InstanceTypeC5d18xlarge is a InstanceType enum value
  72956. InstanceTypeC5d18xlarge = "c5d.18xlarge"
  72957. // InstanceTypeC5nLarge is a InstanceType enum value
  72958. InstanceTypeC5nLarge = "c5n.large"
  72959. // InstanceTypeC5nXlarge is a InstanceType enum value
  72960. InstanceTypeC5nXlarge = "c5n.xlarge"
  72961. // InstanceTypeC5n2xlarge is a InstanceType enum value
  72962. InstanceTypeC5n2xlarge = "c5n.2xlarge"
  72963. // InstanceTypeC5n4xlarge is a InstanceType enum value
  72964. InstanceTypeC5n4xlarge = "c5n.4xlarge"
  72965. // InstanceTypeC5n9xlarge is a InstanceType enum value
  72966. InstanceTypeC5n9xlarge = "c5n.9xlarge"
  72967. // InstanceTypeC5n18xlarge is a InstanceType enum value
  72968. InstanceTypeC5n18xlarge = "c5n.18xlarge"
  72969. // InstanceTypeCc14xlarge is a InstanceType enum value
  72970. InstanceTypeCc14xlarge = "cc1.4xlarge"
  72971. // InstanceTypeCc28xlarge is a InstanceType enum value
  72972. InstanceTypeCc28xlarge = "cc2.8xlarge"
  72973. // InstanceTypeG22xlarge is a InstanceType enum value
  72974. InstanceTypeG22xlarge = "g2.2xlarge"
  72975. // InstanceTypeG28xlarge is a InstanceType enum value
  72976. InstanceTypeG28xlarge = "g2.8xlarge"
  72977. // InstanceTypeG34xlarge is a InstanceType enum value
  72978. InstanceTypeG34xlarge = "g3.4xlarge"
  72979. // InstanceTypeG38xlarge is a InstanceType enum value
  72980. InstanceTypeG38xlarge = "g3.8xlarge"
  72981. // InstanceTypeG316xlarge is a InstanceType enum value
  72982. InstanceTypeG316xlarge = "g3.16xlarge"
  72983. // InstanceTypeG3sXlarge is a InstanceType enum value
  72984. InstanceTypeG3sXlarge = "g3s.xlarge"
  72985. // InstanceTypeCg14xlarge is a InstanceType enum value
  72986. InstanceTypeCg14xlarge = "cg1.4xlarge"
  72987. // InstanceTypeP2Xlarge is a InstanceType enum value
  72988. InstanceTypeP2Xlarge = "p2.xlarge"
  72989. // InstanceTypeP28xlarge is a InstanceType enum value
  72990. InstanceTypeP28xlarge = "p2.8xlarge"
  72991. // InstanceTypeP216xlarge is a InstanceType enum value
  72992. InstanceTypeP216xlarge = "p2.16xlarge"
  72993. // InstanceTypeP32xlarge is a InstanceType enum value
  72994. InstanceTypeP32xlarge = "p3.2xlarge"
  72995. // InstanceTypeP38xlarge is a InstanceType enum value
  72996. InstanceTypeP38xlarge = "p3.8xlarge"
  72997. // InstanceTypeP316xlarge is a InstanceType enum value
  72998. InstanceTypeP316xlarge = "p3.16xlarge"
  72999. // InstanceTypeP3dn24xlarge is a InstanceType enum value
  73000. InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
  73001. // InstanceTypeD2Xlarge is a InstanceType enum value
  73002. InstanceTypeD2Xlarge = "d2.xlarge"
  73003. // InstanceTypeD22xlarge is a InstanceType enum value
  73004. InstanceTypeD22xlarge = "d2.2xlarge"
  73005. // InstanceTypeD24xlarge is a InstanceType enum value
  73006. InstanceTypeD24xlarge = "d2.4xlarge"
  73007. // InstanceTypeD28xlarge is a InstanceType enum value
  73008. InstanceTypeD28xlarge = "d2.8xlarge"
  73009. // InstanceTypeF12xlarge is a InstanceType enum value
  73010. InstanceTypeF12xlarge = "f1.2xlarge"
  73011. // InstanceTypeF14xlarge is a InstanceType enum value
  73012. InstanceTypeF14xlarge = "f1.4xlarge"
  73013. // InstanceTypeF116xlarge is a InstanceType enum value
  73014. InstanceTypeF116xlarge = "f1.16xlarge"
  73015. // InstanceTypeM5Large is a InstanceType enum value
  73016. InstanceTypeM5Large = "m5.large"
  73017. // InstanceTypeM5Xlarge is a InstanceType enum value
  73018. InstanceTypeM5Xlarge = "m5.xlarge"
  73019. // InstanceTypeM52xlarge is a InstanceType enum value
  73020. InstanceTypeM52xlarge = "m5.2xlarge"
  73021. // InstanceTypeM54xlarge is a InstanceType enum value
  73022. InstanceTypeM54xlarge = "m5.4xlarge"
  73023. // InstanceTypeM512xlarge is a InstanceType enum value
  73024. InstanceTypeM512xlarge = "m5.12xlarge"
  73025. // InstanceTypeM524xlarge is a InstanceType enum value
  73026. InstanceTypeM524xlarge = "m5.24xlarge"
  73027. // InstanceTypeM5Metal is a InstanceType enum value
  73028. InstanceTypeM5Metal = "m5.metal"
  73029. // InstanceTypeM5aLarge is a InstanceType enum value
  73030. InstanceTypeM5aLarge = "m5a.large"
  73031. // InstanceTypeM5aXlarge is a InstanceType enum value
  73032. InstanceTypeM5aXlarge = "m5a.xlarge"
  73033. // InstanceTypeM5a2xlarge is a InstanceType enum value
  73034. InstanceTypeM5a2xlarge = "m5a.2xlarge"
  73035. // InstanceTypeM5a4xlarge is a InstanceType enum value
  73036. InstanceTypeM5a4xlarge = "m5a.4xlarge"
  73037. // InstanceTypeM5a12xlarge is a InstanceType enum value
  73038. InstanceTypeM5a12xlarge = "m5a.12xlarge"
  73039. // InstanceTypeM5a24xlarge is a InstanceType enum value
  73040. InstanceTypeM5a24xlarge = "m5a.24xlarge"
  73041. // InstanceTypeM5dLarge is a InstanceType enum value
  73042. InstanceTypeM5dLarge = "m5d.large"
  73043. // InstanceTypeM5dXlarge is a InstanceType enum value
  73044. InstanceTypeM5dXlarge = "m5d.xlarge"
  73045. // InstanceTypeM5d2xlarge is a InstanceType enum value
  73046. InstanceTypeM5d2xlarge = "m5d.2xlarge"
  73047. // InstanceTypeM5d4xlarge is a InstanceType enum value
  73048. InstanceTypeM5d4xlarge = "m5d.4xlarge"
  73049. // InstanceTypeM5d12xlarge is a InstanceType enum value
  73050. InstanceTypeM5d12xlarge = "m5d.12xlarge"
  73051. // InstanceTypeM5d24xlarge is a InstanceType enum value
  73052. InstanceTypeM5d24xlarge = "m5d.24xlarge"
  73053. // InstanceTypeM5dMetal is a InstanceType enum value
  73054. InstanceTypeM5dMetal = "m5d.metal"
  73055. // InstanceTypeH12xlarge is a InstanceType enum value
  73056. InstanceTypeH12xlarge = "h1.2xlarge"
  73057. // InstanceTypeH14xlarge is a InstanceType enum value
  73058. InstanceTypeH14xlarge = "h1.4xlarge"
  73059. // InstanceTypeH18xlarge is a InstanceType enum value
  73060. InstanceTypeH18xlarge = "h1.8xlarge"
  73061. // InstanceTypeH116xlarge is a InstanceType enum value
  73062. InstanceTypeH116xlarge = "h1.16xlarge"
  73063. // InstanceTypeZ1dLarge is a InstanceType enum value
  73064. InstanceTypeZ1dLarge = "z1d.large"
  73065. // InstanceTypeZ1dXlarge is a InstanceType enum value
  73066. InstanceTypeZ1dXlarge = "z1d.xlarge"
  73067. // InstanceTypeZ1d2xlarge is a InstanceType enum value
  73068. InstanceTypeZ1d2xlarge = "z1d.2xlarge"
  73069. // InstanceTypeZ1d3xlarge is a InstanceType enum value
  73070. InstanceTypeZ1d3xlarge = "z1d.3xlarge"
  73071. // InstanceTypeZ1d6xlarge is a InstanceType enum value
  73072. InstanceTypeZ1d6xlarge = "z1d.6xlarge"
  73073. // InstanceTypeZ1d12xlarge is a InstanceType enum value
  73074. InstanceTypeZ1d12xlarge = "z1d.12xlarge"
  73075. // InstanceTypeZ1dMetal is a InstanceType enum value
  73076. InstanceTypeZ1dMetal = "z1d.metal"
  73077. // InstanceTypeU6tb1Metal is a InstanceType enum value
  73078. InstanceTypeU6tb1Metal = "u-6tb1.metal"
  73079. // InstanceTypeU9tb1Metal is a InstanceType enum value
  73080. InstanceTypeU9tb1Metal = "u-9tb1.metal"
  73081. // InstanceTypeU12tb1Metal is a InstanceType enum value
  73082. InstanceTypeU12tb1Metal = "u-12tb1.metal"
  73083. // InstanceTypeA1Medium is a InstanceType enum value
  73084. InstanceTypeA1Medium = "a1.medium"
  73085. // InstanceTypeA1Large is a InstanceType enum value
  73086. InstanceTypeA1Large = "a1.large"
  73087. // InstanceTypeA1Xlarge is a InstanceType enum value
  73088. InstanceTypeA1Xlarge = "a1.xlarge"
  73089. // InstanceTypeA12xlarge is a InstanceType enum value
  73090. InstanceTypeA12xlarge = "a1.2xlarge"
  73091. // InstanceTypeA14xlarge is a InstanceType enum value
  73092. InstanceTypeA14xlarge = "a1.4xlarge"
  73093. )
  73094. const (
  73095. // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
  73096. InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
  73097. // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
  73098. InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
  73099. )
  73100. const (
  73101. // Ipv6SupportValueEnable is a Ipv6SupportValue enum value
  73102. Ipv6SupportValueEnable = "enable"
  73103. // Ipv6SupportValueDisable is a Ipv6SupportValue enum value
  73104. Ipv6SupportValueDisable = "disable"
  73105. )
  73106. const (
  73107. // LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
  73108. LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
  73109. // LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
  73110. LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
  73111. // LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
  73112. LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
  73113. // LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
  73114. LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
  73115. // LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
  73116. LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
  73117. // LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
  73118. LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
  73119. )
  73120. const (
  73121. // ListingStateAvailable is a ListingState enum value
  73122. ListingStateAvailable = "available"
  73123. // ListingStateSold is a ListingState enum value
  73124. ListingStateSold = "sold"
  73125. // ListingStateCancelled is a ListingState enum value
  73126. ListingStateCancelled = "cancelled"
  73127. // ListingStatePending is a ListingState enum value
  73128. ListingStatePending = "pending"
  73129. )
  73130. const (
  73131. // ListingStatusActive is a ListingStatus enum value
  73132. ListingStatusActive = "active"
  73133. // ListingStatusPending is a ListingStatus enum value
  73134. ListingStatusPending = "pending"
  73135. // ListingStatusCancelled is a ListingStatus enum value
  73136. ListingStatusCancelled = "cancelled"
  73137. // ListingStatusClosed is a ListingStatus enum value
  73138. ListingStatusClosed = "closed"
  73139. )
  73140. const (
  73141. // LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
  73142. LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
  73143. // LogDestinationTypeS3 is a LogDestinationType enum value
  73144. LogDestinationTypeS3 = "s3"
  73145. )
  73146. const (
  73147. // MarketTypeSpot is a MarketType enum value
  73148. MarketTypeSpot = "spot"
  73149. )
  73150. const (
  73151. // MonitoringStateDisabled is a MonitoringState enum value
  73152. MonitoringStateDisabled = "disabled"
  73153. // MonitoringStateDisabling is a MonitoringState enum value
  73154. MonitoringStateDisabling = "disabling"
  73155. // MonitoringStateEnabled is a MonitoringState enum value
  73156. MonitoringStateEnabled = "enabled"
  73157. // MonitoringStatePending is a MonitoringState enum value
  73158. MonitoringStatePending = "pending"
  73159. )
  73160. const (
  73161. // MoveStatusMovingToVpc is a MoveStatus enum value
  73162. MoveStatusMovingToVpc = "movingToVpc"
  73163. // MoveStatusRestoringToClassic is a MoveStatus enum value
  73164. MoveStatusRestoringToClassic = "restoringToClassic"
  73165. )
  73166. const (
  73167. // NatGatewayStatePending is a NatGatewayState enum value
  73168. NatGatewayStatePending = "pending"
  73169. // NatGatewayStateFailed is a NatGatewayState enum value
  73170. NatGatewayStateFailed = "failed"
  73171. // NatGatewayStateAvailable is a NatGatewayState enum value
  73172. NatGatewayStateAvailable = "available"
  73173. // NatGatewayStateDeleting is a NatGatewayState enum value
  73174. NatGatewayStateDeleting = "deleting"
  73175. // NatGatewayStateDeleted is a NatGatewayState enum value
  73176. NatGatewayStateDeleted = "deleted"
  73177. )
  73178. const (
  73179. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  73180. NetworkInterfaceAttributeDescription = "description"
  73181. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  73182. NetworkInterfaceAttributeGroupSet = "groupSet"
  73183. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  73184. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  73185. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  73186. NetworkInterfaceAttributeAttachment = "attachment"
  73187. )
  73188. const (
  73189. // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
  73190. NetworkInterfacePermissionStateCodePending = "pending"
  73191. // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
  73192. NetworkInterfacePermissionStateCodeGranted = "granted"
  73193. // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
  73194. NetworkInterfacePermissionStateCodeRevoking = "revoking"
  73195. // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
  73196. NetworkInterfacePermissionStateCodeRevoked = "revoked"
  73197. )
  73198. const (
  73199. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  73200. NetworkInterfaceStatusAvailable = "available"
  73201. // NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
  73202. NetworkInterfaceStatusAssociated = "associated"
  73203. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  73204. NetworkInterfaceStatusAttaching = "attaching"
  73205. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  73206. NetworkInterfaceStatusInUse = "in-use"
  73207. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  73208. NetworkInterfaceStatusDetaching = "detaching"
  73209. )
  73210. const (
  73211. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  73212. NetworkInterfaceTypeInterface = "interface"
  73213. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  73214. NetworkInterfaceTypeNatGateway = "natGateway"
  73215. )
  73216. const (
  73217. // OfferingClassTypeStandard is a OfferingClassType enum value
  73218. OfferingClassTypeStandard = "standard"
  73219. // OfferingClassTypeConvertible is a OfferingClassType enum value
  73220. OfferingClassTypeConvertible = "convertible"
  73221. )
  73222. const (
  73223. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  73224. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  73225. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  73226. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  73227. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  73228. OfferingTypeValuesLightUtilization = "Light Utilization"
  73229. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  73230. OfferingTypeValuesNoUpfront = "No Upfront"
  73231. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  73232. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  73233. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  73234. OfferingTypeValuesAllUpfront = "All Upfront"
  73235. )
  73236. const (
  73237. // OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
  73238. OnDemandAllocationStrategyLowestPrice = "lowestPrice"
  73239. // OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
  73240. OnDemandAllocationStrategyPrioritized = "prioritized"
  73241. )
  73242. const (
  73243. // OperationTypeAdd is a OperationType enum value
  73244. OperationTypeAdd = "add"
  73245. // OperationTypeRemove is a OperationType enum value
  73246. OperationTypeRemove = "remove"
  73247. )
  73248. const (
  73249. // PaymentOptionAllUpfront is a PaymentOption enum value
  73250. PaymentOptionAllUpfront = "AllUpfront"
  73251. // PaymentOptionPartialUpfront is a PaymentOption enum value
  73252. PaymentOptionPartialUpfront = "PartialUpfront"
  73253. // PaymentOptionNoUpfront is a PaymentOption enum value
  73254. PaymentOptionNoUpfront = "NoUpfront"
  73255. )
  73256. const (
  73257. // PermissionGroupAll is a PermissionGroup enum value
  73258. PermissionGroupAll = "all"
  73259. )
  73260. const (
  73261. // PlacementGroupStatePending is a PlacementGroupState enum value
  73262. PlacementGroupStatePending = "pending"
  73263. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  73264. PlacementGroupStateAvailable = "available"
  73265. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  73266. PlacementGroupStateDeleting = "deleting"
  73267. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  73268. PlacementGroupStateDeleted = "deleted"
  73269. )
  73270. const (
  73271. // PlacementStrategyCluster is a PlacementStrategy enum value
  73272. PlacementStrategyCluster = "cluster"
  73273. // PlacementStrategySpread is a PlacementStrategy enum value
  73274. PlacementStrategySpread = "spread"
  73275. // PlacementStrategyPartition is a PlacementStrategy enum value
  73276. PlacementStrategyPartition = "partition"
  73277. )
  73278. const (
  73279. // PlatformValuesWindows is a PlatformValues enum value
  73280. PlatformValuesWindows = "Windows"
  73281. )
  73282. const (
  73283. // PrincipalTypeAll is a PrincipalType enum value
  73284. PrincipalTypeAll = "All"
  73285. // PrincipalTypeService is a PrincipalType enum value
  73286. PrincipalTypeService = "Service"
  73287. // PrincipalTypeOrganizationUnit is a PrincipalType enum value
  73288. PrincipalTypeOrganizationUnit = "OrganizationUnit"
  73289. // PrincipalTypeAccount is a PrincipalType enum value
  73290. PrincipalTypeAccount = "Account"
  73291. // PrincipalTypeUser is a PrincipalType enum value
  73292. PrincipalTypeUser = "User"
  73293. // PrincipalTypeRole is a PrincipalType enum value
  73294. PrincipalTypeRole = "Role"
  73295. )
  73296. const (
  73297. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  73298. ProductCodeValuesDevpay = "devpay"
  73299. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  73300. ProductCodeValuesMarketplace = "marketplace"
  73301. )
  73302. const (
  73303. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  73304. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  73305. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  73306. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  73307. // RIProductDescriptionWindows is a RIProductDescription enum value
  73308. RIProductDescriptionWindows = "Windows"
  73309. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  73310. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  73311. )
  73312. const (
  73313. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  73314. RecurringChargeFrequencyHourly = "Hourly"
  73315. )
  73316. const (
  73317. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  73318. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  73319. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  73320. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  73321. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  73322. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  73323. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  73324. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  73325. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  73326. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  73327. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  73328. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  73329. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  73330. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  73331. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  73332. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  73333. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  73334. ReportInstanceReasonCodesOther = "other"
  73335. )
  73336. const (
  73337. // ReportStatusTypeOk is a ReportStatusType enum value
  73338. ReportStatusTypeOk = "ok"
  73339. // ReportStatusTypeImpaired is a ReportStatusType enum value
  73340. ReportStatusTypeImpaired = "impaired"
  73341. )
  73342. const (
  73343. // ReservationStatePaymentPending is a ReservationState enum value
  73344. ReservationStatePaymentPending = "payment-pending"
  73345. // ReservationStatePaymentFailed is a ReservationState enum value
  73346. ReservationStatePaymentFailed = "payment-failed"
  73347. // ReservationStateActive is a ReservationState enum value
  73348. ReservationStateActive = "active"
  73349. // ReservationStateRetired is a ReservationState enum value
  73350. ReservationStateRetired = "retired"
  73351. )
  73352. const (
  73353. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  73354. ReservedInstanceStatePaymentPending = "payment-pending"
  73355. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  73356. ReservedInstanceStateActive = "active"
  73357. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  73358. ReservedInstanceStatePaymentFailed = "payment-failed"
  73359. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  73360. ReservedInstanceStateRetired = "retired"
  73361. )
  73362. const (
  73363. // ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
  73364. ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
  73365. )
  73366. const (
  73367. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  73368. ResetImageAttributeNameLaunchPermission = "launchPermission"
  73369. )
  73370. const (
  73371. // ResourceTypeClientVpnEndpoint is a ResourceType enum value
  73372. ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
  73373. // ResourceTypeCustomerGateway is a ResourceType enum value
  73374. ResourceTypeCustomerGateway = "customer-gateway"
  73375. // ResourceTypeDedicatedHost is a ResourceType enum value
  73376. ResourceTypeDedicatedHost = "dedicated-host"
  73377. // ResourceTypeDhcpOptions is a ResourceType enum value
  73378. ResourceTypeDhcpOptions = "dhcp-options"
  73379. // ResourceTypeElasticIp is a ResourceType enum value
  73380. ResourceTypeElasticIp = "elastic-ip"
  73381. // ResourceTypeFleet is a ResourceType enum value
  73382. ResourceTypeFleet = "fleet"
  73383. // ResourceTypeFpgaImage is a ResourceType enum value
  73384. ResourceTypeFpgaImage = "fpga-image"
  73385. // ResourceTypeHostReservation is a ResourceType enum value
  73386. ResourceTypeHostReservation = "host-reservation"
  73387. // ResourceTypeImage is a ResourceType enum value
  73388. ResourceTypeImage = "image"
  73389. // ResourceTypeInstance is a ResourceType enum value
  73390. ResourceTypeInstance = "instance"
  73391. // ResourceTypeInternetGateway is a ResourceType enum value
  73392. ResourceTypeInternetGateway = "internet-gateway"
  73393. // ResourceTypeLaunchTemplate is a ResourceType enum value
  73394. ResourceTypeLaunchTemplate = "launch-template"
  73395. // ResourceTypeNatgateway is a ResourceType enum value
  73396. ResourceTypeNatgateway = "natgateway"
  73397. // ResourceTypeNetworkAcl is a ResourceType enum value
  73398. ResourceTypeNetworkAcl = "network-acl"
  73399. // ResourceTypeNetworkInterface is a ResourceType enum value
  73400. ResourceTypeNetworkInterface = "network-interface"
  73401. // ResourceTypeReservedInstances is a ResourceType enum value
  73402. ResourceTypeReservedInstances = "reserved-instances"
  73403. // ResourceTypeRouteTable is a ResourceType enum value
  73404. ResourceTypeRouteTable = "route-table"
  73405. // ResourceTypeSecurityGroup is a ResourceType enum value
  73406. ResourceTypeSecurityGroup = "security-group"
  73407. // ResourceTypeSnapshot is a ResourceType enum value
  73408. ResourceTypeSnapshot = "snapshot"
  73409. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  73410. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  73411. // ResourceTypeSubnet is a ResourceType enum value
  73412. ResourceTypeSubnet = "subnet"
  73413. // ResourceTypeTransitGateway is a ResourceType enum value
  73414. ResourceTypeTransitGateway = "transit-gateway"
  73415. // ResourceTypeTransitGatewayAttachment is a ResourceType enum value
  73416. ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
  73417. // ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
  73418. ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
  73419. // ResourceTypeVolume is a ResourceType enum value
  73420. ResourceTypeVolume = "volume"
  73421. // ResourceTypeVpc is a ResourceType enum value
  73422. ResourceTypeVpc = "vpc"
  73423. // ResourceTypeVpcPeeringConnection is a ResourceType enum value
  73424. ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
  73425. // ResourceTypeVpnConnection is a ResourceType enum value
  73426. ResourceTypeVpnConnection = "vpn-connection"
  73427. // ResourceTypeVpnGateway is a ResourceType enum value
  73428. ResourceTypeVpnGateway = "vpn-gateway"
  73429. )
  73430. const (
  73431. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  73432. RouteOriginCreateRouteTable = "CreateRouteTable"
  73433. // RouteOriginCreateRoute is a RouteOrigin enum value
  73434. RouteOriginCreateRoute = "CreateRoute"
  73435. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  73436. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  73437. )
  73438. const (
  73439. // RouteStateActive is a RouteState enum value
  73440. RouteStateActive = "active"
  73441. // RouteStateBlackhole is a RouteState enum value
  73442. RouteStateBlackhole = "blackhole"
  73443. )
  73444. const (
  73445. // RuleActionAllow is a RuleAction enum value
  73446. RuleActionAllow = "allow"
  73447. // RuleActionDeny is a RuleAction enum value
  73448. RuleActionDeny = "deny"
  73449. )
  73450. const (
  73451. // ServiceStatePending is a ServiceState enum value
  73452. ServiceStatePending = "Pending"
  73453. // ServiceStateAvailable is a ServiceState enum value
  73454. ServiceStateAvailable = "Available"
  73455. // ServiceStateDeleting is a ServiceState enum value
  73456. ServiceStateDeleting = "Deleting"
  73457. // ServiceStateDeleted is a ServiceState enum value
  73458. ServiceStateDeleted = "Deleted"
  73459. // ServiceStateFailed is a ServiceState enum value
  73460. ServiceStateFailed = "Failed"
  73461. )
  73462. const (
  73463. // ServiceTypeInterface is a ServiceType enum value
  73464. ServiceTypeInterface = "Interface"
  73465. // ServiceTypeGateway is a ServiceType enum value
  73466. ServiceTypeGateway = "Gateway"
  73467. )
  73468. const (
  73469. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  73470. ShutdownBehaviorStop = "stop"
  73471. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  73472. ShutdownBehaviorTerminate = "terminate"
  73473. )
  73474. const (
  73475. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  73476. SnapshotAttributeNameProductCodes = "productCodes"
  73477. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  73478. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  73479. )
  73480. const (
  73481. // SnapshotStatePending is a SnapshotState enum value
  73482. SnapshotStatePending = "pending"
  73483. // SnapshotStateCompleted is a SnapshotState enum value
  73484. SnapshotStateCompleted = "completed"
  73485. // SnapshotStateError is a SnapshotState enum value
  73486. SnapshotStateError = "error"
  73487. )
  73488. const (
  73489. // SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
  73490. SpotAllocationStrategyLowestPrice = "lowest-price"
  73491. // SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
  73492. SpotAllocationStrategyDiversified = "diversified"
  73493. )
  73494. const (
  73495. // SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
  73496. SpotInstanceInterruptionBehaviorHibernate = "hibernate"
  73497. // SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
  73498. SpotInstanceInterruptionBehaviorStop = "stop"
  73499. // SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
  73500. SpotInstanceInterruptionBehaviorTerminate = "terminate"
  73501. )
  73502. const (
  73503. // SpotInstanceStateOpen is a SpotInstanceState enum value
  73504. SpotInstanceStateOpen = "open"
  73505. // SpotInstanceStateActive is a SpotInstanceState enum value
  73506. SpotInstanceStateActive = "active"
  73507. // SpotInstanceStateClosed is a SpotInstanceState enum value
  73508. SpotInstanceStateClosed = "closed"
  73509. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  73510. SpotInstanceStateCancelled = "cancelled"
  73511. // SpotInstanceStateFailed is a SpotInstanceState enum value
  73512. SpotInstanceStateFailed = "failed"
  73513. )
  73514. const (
  73515. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  73516. SpotInstanceTypeOneTime = "one-time"
  73517. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  73518. SpotInstanceTypePersistent = "persistent"
  73519. )
  73520. const (
  73521. // StatePendingAcceptance is a State enum value
  73522. StatePendingAcceptance = "PendingAcceptance"
  73523. // StatePending is a State enum value
  73524. StatePending = "Pending"
  73525. // StateAvailable is a State enum value
  73526. StateAvailable = "Available"
  73527. // StateDeleting is a State enum value
  73528. StateDeleting = "Deleting"
  73529. // StateDeleted is a State enum value
  73530. StateDeleted = "Deleted"
  73531. // StateRejected is a State enum value
  73532. StateRejected = "Rejected"
  73533. // StateFailed is a State enum value
  73534. StateFailed = "Failed"
  73535. // StateExpired is a State enum value
  73536. StateExpired = "Expired"
  73537. )
  73538. const (
  73539. // StatusMoveInProgress is a Status enum value
  73540. StatusMoveInProgress = "MoveInProgress"
  73541. // StatusInVpc is a Status enum value
  73542. StatusInVpc = "InVpc"
  73543. // StatusInClassic is a Status enum value
  73544. StatusInClassic = "InClassic"
  73545. )
  73546. const (
  73547. // StatusNameReachability is a StatusName enum value
  73548. StatusNameReachability = "reachability"
  73549. )
  73550. const (
  73551. // StatusTypePassed is a StatusType enum value
  73552. StatusTypePassed = "passed"
  73553. // StatusTypeFailed is a StatusType enum value
  73554. StatusTypeFailed = "failed"
  73555. // StatusTypeInsufficientData is a StatusType enum value
  73556. StatusTypeInsufficientData = "insufficient-data"
  73557. // StatusTypeInitializing is a StatusType enum value
  73558. StatusTypeInitializing = "initializing"
  73559. )
  73560. const (
  73561. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  73562. SubnetCidrBlockStateCodeAssociating = "associating"
  73563. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  73564. SubnetCidrBlockStateCodeAssociated = "associated"
  73565. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  73566. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  73567. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  73568. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  73569. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  73570. SubnetCidrBlockStateCodeFailing = "failing"
  73571. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  73572. SubnetCidrBlockStateCodeFailed = "failed"
  73573. )
  73574. const (
  73575. // SubnetStatePending is a SubnetState enum value
  73576. SubnetStatePending = "pending"
  73577. // SubnetStateAvailable is a SubnetState enum value
  73578. SubnetStateAvailable = "available"
  73579. )
  73580. const (
  73581. // SummaryStatusOk is a SummaryStatus enum value
  73582. SummaryStatusOk = "ok"
  73583. // SummaryStatusImpaired is a SummaryStatus enum value
  73584. SummaryStatusImpaired = "impaired"
  73585. // SummaryStatusInsufficientData is a SummaryStatus enum value
  73586. SummaryStatusInsufficientData = "insufficient-data"
  73587. // SummaryStatusNotApplicable is a SummaryStatus enum value
  73588. SummaryStatusNotApplicable = "not-applicable"
  73589. // SummaryStatusInitializing is a SummaryStatus enum value
  73590. SummaryStatusInitializing = "initializing"
  73591. )
  73592. const (
  73593. // TelemetryStatusUp is a TelemetryStatus enum value
  73594. TelemetryStatusUp = "UP"
  73595. // TelemetryStatusDown is a TelemetryStatus enum value
  73596. TelemetryStatusDown = "DOWN"
  73597. )
  73598. const (
  73599. // TenancyDefault is a Tenancy enum value
  73600. TenancyDefault = "default"
  73601. // TenancyDedicated is a Tenancy enum value
  73602. TenancyDedicated = "dedicated"
  73603. // TenancyHost is a Tenancy enum value
  73604. TenancyHost = "host"
  73605. )
  73606. const (
  73607. // TrafficTypeAccept is a TrafficType enum value
  73608. TrafficTypeAccept = "ACCEPT"
  73609. // TrafficTypeReject is a TrafficType enum value
  73610. TrafficTypeReject = "REJECT"
  73611. // TrafficTypeAll is a TrafficType enum value
  73612. TrafficTypeAll = "ALL"
  73613. )
  73614. const (
  73615. // TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
  73616. TransitGatewayAssociationStateAssociating = "associating"
  73617. // TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
  73618. TransitGatewayAssociationStateAssociated = "associated"
  73619. // TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
  73620. TransitGatewayAssociationStateDisassociating = "disassociating"
  73621. // TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
  73622. TransitGatewayAssociationStateDisassociated = "disassociated"
  73623. )
  73624. const (
  73625. // TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
  73626. TransitGatewayAttachmentResourceTypeVpc = "vpc"
  73627. // TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
  73628. TransitGatewayAttachmentResourceTypeVpn = "vpn"
  73629. )
  73630. const (
  73631. // TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
  73632. TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
  73633. // TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
  73634. TransitGatewayAttachmentStateRollingBack = "rollingBack"
  73635. // TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
  73636. TransitGatewayAttachmentStatePending = "pending"
  73637. // TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
  73638. TransitGatewayAttachmentStateAvailable = "available"
  73639. // TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
  73640. TransitGatewayAttachmentStateModifying = "modifying"
  73641. // TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
  73642. TransitGatewayAttachmentStateDeleting = "deleting"
  73643. // TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
  73644. TransitGatewayAttachmentStateDeleted = "deleted"
  73645. // TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
  73646. TransitGatewayAttachmentStateFailed = "failed"
  73647. // TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
  73648. TransitGatewayAttachmentStateRejected = "rejected"
  73649. // TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
  73650. TransitGatewayAttachmentStateRejecting = "rejecting"
  73651. // TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
  73652. TransitGatewayAttachmentStateFailing = "failing"
  73653. )
  73654. const (
  73655. // TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
  73656. TransitGatewayPropagationStateEnabling = "enabling"
  73657. // TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
  73658. TransitGatewayPropagationStateEnabled = "enabled"
  73659. // TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
  73660. TransitGatewayPropagationStateDisabling = "disabling"
  73661. // TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
  73662. TransitGatewayPropagationStateDisabled = "disabled"
  73663. )
  73664. const (
  73665. // TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
  73666. TransitGatewayRouteStatePending = "pending"
  73667. // TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
  73668. TransitGatewayRouteStateActive = "active"
  73669. // TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
  73670. TransitGatewayRouteStateBlackhole = "blackhole"
  73671. // TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
  73672. TransitGatewayRouteStateDeleting = "deleting"
  73673. // TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
  73674. TransitGatewayRouteStateDeleted = "deleted"
  73675. )
  73676. const (
  73677. // TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
  73678. TransitGatewayRouteTableStatePending = "pending"
  73679. // TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
  73680. TransitGatewayRouteTableStateAvailable = "available"
  73681. // TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
  73682. TransitGatewayRouteTableStateDeleting = "deleting"
  73683. // TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
  73684. TransitGatewayRouteTableStateDeleted = "deleted"
  73685. )
  73686. const (
  73687. // TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
  73688. TransitGatewayRouteTypeStatic = "static"
  73689. // TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
  73690. TransitGatewayRouteTypePropagated = "propagated"
  73691. )
  73692. const (
  73693. // TransitGatewayStatePending is a TransitGatewayState enum value
  73694. TransitGatewayStatePending = "pending"
  73695. // TransitGatewayStateAvailable is a TransitGatewayState enum value
  73696. TransitGatewayStateAvailable = "available"
  73697. // TransitGatewayStateModifying is a TransitGatewayState enum value
  73698. TransitGatewayStateModifying = "modifying"
  73699. // TransitGatewayStateDeleting is a TransitGatewayState enum value
  73700. TransitGatewayStateDeleting = "deleting"
  73701. // TransitGatewayStateDeleted is a TransitGatewayState enum value
  73702. TransitGatewayStateDeleted = "deleted"
  73703. )
  73704. const (
  73705. // TransportProtocolTcp is a TransportProtocol enum value
  73706. TransportProtocolTcp = "tcp"
  73707. // TransportProtocolUdp is a TransportProtocol enum value
  73708. TransportProtocolUdp = "udp"
  73709. )
  73710. const (
  73711. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  73712. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
  73713. // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  73714. UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
  73715. // UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  73716. UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
  73717. // UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
  73718. UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
  73719. )
  73720. const (
  73721. // VirtualizationTypeHvm is a VirtualizationType enum value
  73722. VirtualizationTypeHvm = "hvm"
  73723. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  73724. VirtualizationTypeParavirtual = "paravirtual"
  73725. )
  73726. const (
  73727. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  73728. VolumeAttachmentStateAttaching = "attaching"
  73729. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  73730. VolumeAttachmentStateAttached = "attached"
  73731. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  73732. VolumeAttachmentStateDetaching = "detaching"
  73733. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  73734. VolumeAttachmentStateDetached = "detached"
  73735. // VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
  73736. VolumeAttachmentStateBusy = "busy"
  73737. )
  73738. const (
  73739. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  73740. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  73741. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  73742. VolumeAttributeNameProductCodes = "productCodes"
  73743. )
  73744. const (
  73745. // VolumeModificationStateModifying is a VolumeModificationState enum value
  73746. VolumeModificationStateModifying = "modifying"
  73747. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  73748. VolumeModificationStateOptimizing = "optimizing"
  73749. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  73750. VolumeModificationStateCompleted = "completed"
  73751. // VolumeModificationStateFailed is a VolumeModificationState enum value
  73752. VolumeModificationStateFailed = "failed"
  73753. )
  73754. const (
  73755. // VolumeStateCreating is a VolumeState enum value
  73756. VolumeStateCreating = "creating"
  73757. // VolumeStateAvailable is a VolumeState enum value
  73758. VolumeStateAvailable = "available"
  73759. // VolumeStateInUse is a VolumeState enum value
  73760. VolumeStateInUse = "in-use"
  73761. // VolumeStateDeleting is a VolumeState enum value
  73762. VolumeStateDeleting = "deleting"
  73763. // VolumeStateDeleted is a VolumeState enum value
  73764. VolumeStateDeleted = "deleted"
  73765. // VolumeStateError is a VolumeState enum value
  73766. VolumeStateError = "error"
  73767. )
  73768. const (
  73769. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  73770. VolumeStatusInfoStatusOk = "ok"
  73771. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  73772. VolumeStatusInfoStatusImpaired = "impaired"
  73773. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  73774. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  73775. )
  73776. const (
  73777. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  73778. VolumeStatusNameIoEnabled = "io-enabled"
  73779. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  73780. VolumeStatusNameIoPerformance = "io-performance"
  73781. )
  73782. const (
  73783. // VolumeTypeStandard is a VolumeType enum value
  73784. VolumeTypeStandard = "standard"
  73785. // VolumeTypeIo1 is a VolumeType enum value
  73786. VolumeTypeIo1 = "io1"
  73787. // VolumeTypeGp2 is a VolumeType enum value
  73788. VolumeTypeGp2 = "gp2"
  73789. // VolumeTypeSc1 is a VolumeType enum value
  73790. VolumeTypeSc1 = "sc1"
  73791. // VolumeTypeSt1 is a VolumeType enum value
  73792. VolumeTypeSt1 = "st1"
  73793. )
  73794. const (
  73795. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  73796. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  73797. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  73798. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  73799. )
  73800. const (
  73801. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  73802. VpcCidrBlockStateCodeAssociating = "associating"
  73803. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  73804. VpcCidrBlockStateCodeAssociated = "associated"
  73805. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  73806. VpcCidrBlockStateCodeDisassociating = "disassociating"
  73807. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  73808. VpcCidrBlockStateCodeDisassociated = "disassociated"
  73809. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  73810. VpcCidrBlockStateCodeFailing = "failing"
  73811. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  73812. VpcCidrBlockStateCodeFailed = "failed"
  73813. )
  73814. const (
  73815. // VpcEndpointTypeInterface is a VpcEndpointType enum value
  73816. VpcEndpointTypeInterface = "Interface"
  73817. // VpcEndpointTypeGateway is a VpcEndpointType enum value
  73818. VpcEndpointTypeGateway = "Gateway"
  73819. )
  73820. const (
  73821. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  73822. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  73823. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  73824. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  73825. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  73826. VpcPeeringConnectionStateReasonCodeActive = "active"
  73827. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  73828. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  73829. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  73830. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  73831. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  73832. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  73833. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  73834. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  73835. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  73836. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  73837. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  73838. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  73839. )
  73840. const (
  73841. // VpcStatePending is a VpcState enum value
  73842. VpcStatePending = "pending"
  73843. // VpcStateAvailable is a VpcState enum value
  73844. VpcStateAvailable = "available"
  73845. )
  73846. const (
  73847. // VpcTenancyDefault is a VpcTenancy enum value
  73848. VpcTenancyDefault = "default"
  73849. )
  73850. const (
  73851. // VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
  73852. VpnEcmpSupportValueEnable = "enable"
  73853. // VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
  73854. VpnEcmpSupportValueDisable = "disable"
  73855. )
  73856. const (
  73857. // VpnProtocolOpenvpn is a VpnProtocol enum value
  73858. VpnProtocolOpenvpn = "openvpn"
  73859. )
  73860. const (
  73861. // VpnStatePending is a VpnState enum value
  73862. VpnStatePending = "pending"
  73863. // VpnStateAvailable is a VpnState enum value
  73864. VpnStateAvailable = "available"
  73865. // VpnStateDeleting is a VpnState enum value
  73866. VpnStateDeleting = "deleting"
  73867. // VpnStateDeleted is a VpnState enum value
  73868. VpnStateDeleted = "deleted"
  73869. )
  73870. const (
  73871. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  73872. VpnStaticRouteSourceStatic = "Static"
  73873. )
  73874. const (
  73875. // ScopeAvailabilityZone is a scope enum value
  73876. ScopeAvailabilityZone = "Availability Zone"
  73877. // ScopeRegion is a scope enum value
  73878. ScopeRegion = "Region"
  73879. )